Back-End/Java 메모장

수업 내용 (1) 상속

SIKIDA 2024. 3. 27. 23:28
728x90

 

■ 상속

 

• 상속

다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 상속받아 재활용하는 것 부모와 자식간의 관계로 나타냄

-장점 

1. 코드를 재활용함으로써 코드의 중복을 제거하고, 코드의 양이 줄어듬

2. 공통된 코드를 관리할 수 있기 때문에 코드의 유지보수(추가/변경)에 좋음

 

■상속의 종류

 

• 다중 상속

여러 개의 부모 클래스를 가질 수 있는 상속

 

• 단일 상속

한가지의 부모 클래스만 가질 수 있는 상속

-자바에서는 단일 상속만을 지원함

 

다중 상속의 문제점

 

1. 모호성 

상속받은 부모 클래스들끼리 같은 이름을 가진 메소드나 변수가 있을 경우 어떤 부모 클래스에서 호출 해야하는지

알 수 없는 모호성이 발생

2. 복잡성 

다중 상속을 사용하면 클래스 간의 관계가 복잡해지고 코드의 가독성과 유지보수가 어려워짐

 

• 다이아몬드 상속

다중 상속의 대표적인 예시중 하나로써 클래스간의 관계가 다이아몬드처럼 된다 하여 다이아몬드 상속이라고 함 이러한 다중 상속에는 여러가지 문제(모 호성, 복잡성, …)이 발생하기 때문에 죽음의 다이아몬드(Diamond Of Death) 라고도 함

 

• 단일 상속

클래스당 하나의 부모 클래스만 가질 수 있는 상속 형태 자바에서는 단일 상속만을 지원함

 

 

• 상속 표현식

 

• 상속 관계(is-a)

 

부모의 멤버 변수도 모두 가지고 있으므로 “child는 parent 이다. (is-a)” 라고 표현해도 맞는 표현이 됨

 

추후 내용 정리해서 블로그에 올릴예정.

 

처음부터 정리하면서 올릴예정

'Back-End > Java 메모장' 카테고리의 다른 글

수업 내용 (1) 호출 스택  (0) 2024.03.26
수업 내용 (1) 객체  (0) 2024.03.25
수업 내용 (1) 객체  (0) 2024.03.22
수업 내용 (1) 배열  (0) 2024.03.22
수업 내용 (2) 배열  (0) 2024.03.20