반응형
먼저 상속에 대한 정의부터 알고 넘어가겠습니다.
상속이란?
- 상자 하나하나는 모두 객체이고, 자바용어로는 class입니다.
- 이러한 계층을 표현하기 위해 만들어진 것이 바로 상속입니다.
- 하위 객체는 상위 객체(부모)의 특징을 물려받습니다.
메서드 or 변수를 ‘구현’하는가 그대로 ‘사용’하는가에 따라 상속의 형태가 나뉩니다.
- extends
- 부모에서 선언 / 정의를 모두 하며 자식은 메서드와 변수를 그대로 사용할 수 있습니다.
- implements ( interface 구현 )
- 부모 객체는 선언만 하며 정의(내용)는 자식에서 오버라이딩(재정의) 하여 사용하게 됩니다.
- java에서 다중상속을 대신해 줍니다.
- abstract
- extends와 interface의 혼합으로, extends 하되 몇 개는 추상 메서드로 구현되어 있습니다.
정리
- extends는 일반 클래스와 abstract클래스 상속에 사용되고, implement는 interface상속에 사용됩니다.
- class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속받을 땐 extends를 사용합니다.
- class가 interface를 사용할 땐 implements를 써야 합니다.
- interface가 class를 사용할 땐 implements를 쓸 수 없습니다.
- extends는 클래스 한 개만 상속받을 수 있습니다.
- extends 자식 클래스는 부모 클래스의 기능을 사용합니다.
- implements는 여러 개 사용 가능합니다. ( 다중상속 )
- implements는 설계 목적으로 구현 가능합니다. ( 추상화 )
- implements 한 클래스는 implements의 내용을 다 사용해야 합니다.
[ 참고 자료 ]
728x90
반응형
'Spring' 카테고리의 다른 글
| Spring Security / TCP (1) | 2023.03.18 |
|---|---|
| 스프링 AOP 관점 지향 프로그래밍 (0) | 2023.03.18 |
| Spring Security 적용시 circular reference, dependency cycle 형성 해결법 (0) | 2023.03.17 |
| SPRING ANNOTATION (0) | 2023.03.17 |
| Spring Data JPA는 어떻게 interface 만으로 동작될까? (0) | 2023.03.17 |

댓글