Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java) 상속의 3가지 유형 완벽 정리

자바 상속이란?

상속(Inheritance)은 객체 지향 프로그래밍의 핵심 개념 중 하나로, 기존 클래스의 속성과 메서드를 새로운 클래스가 물려받아 재사용할 수 있도록 해주는 기능입니다. 자바는 코드의 재사용성을 높이고 클래스 간의 명확한 계층 구조를 형성하기 위해 상속을 지원합니다.

자바에서 지원하는 상속 유형

자바는 크게 세 가지 유형의 상속을 지원합니다.

1. 단일 레벨 상속 (Single Level Inheritance)

하나의 클래스가 다른 하나의 클래스로부터 속성과 메서드를 상속받는 가장 기본적인 형태입니다. 예를 들어, B 클래스가 A 클래스를 상속하는 경우가 여기에 해당합니다.

2. 다중 레벨 상속 (Multilevel Inheritance)

클래스가 이미 다른 클래스를 상속받고 있는 클래스로부터 다시 상속을 받는 형태입니다. 조부모 클래스 → 부모 클래스 → 자식 클래스처럼 사슬처럼 연결되는 구조로, 예를 들어 C 클래스가 B 클래스를 상속하고, B 클래스가 다시 A 클래스를 상속하는 경우입니다.

3. 계층적 상속 (Hierarchical Inheritance)

하나의 부모 클래스로부터 여러 개의 자식 클래스가 동시에 상속받는 형태입니다. 예를 들어, B 클래스와 C 클래스가 모두 A 클래스를 상속하는 구조가 이에 해당합니다.

자바(Java) 상속의 3가지 유형 완벽 정리

참고: 자바가 지원하지 않는 상속

자바는 하나의 클래스가 여러 클래스를 동시에 상속받는 다중 상속(Multiple Inheritance)은 지원하지 않습니다. 이는 상속 경로가 겹칠 때 발생하는 모호성, 즉 '다이아몬드 문제(Diamond Problem)'를 방지하기 위함입니다. 대신 자바에서는 인터페이스(Interface)를 활용해 다중 상속과 유사한 효과를 얻을 수 있습니다.