- 상속과 구현 의 특징과 차이
상속(extends) :
자식 클래스가 부모 클래스의 메서드 등을 상속받아 사용하며 자식 클래스에서 추가 및 확장을 할 수 있습니다.
이로 인해 재사용성, 중복성의 최소화가 가능합니다.
구현(implements) :
부모 인터페이스를 자식 클래스에서 재정의하여 구현하는 것을 말하며, 상속과 달리 반드시 인터페이스의 메서드를 재정의하여 구현해야 합니다.
상속은 일반 클래스, abstract(추상) 클래스를 기반으로 구현,
구현은 인터페이스를 기반으로 구현합니다.
- 추상 클래스와 인터페이스의 차이
추상 클래스와 인터페이스는 모두 반드시 부모 클래스(인터페이스)의 메서드를 재정의 하여야 합니다.
하지만 차이점은 사용 의도에 따라 다르게 구분됩니다.
예를 들어
추상 클래스 : 동물 이라는 추상 클래스에 하위 클래스들은 강아지, 고양이, 돼지, 소 등을 사용하며
인터페이스 : 울부짖기, 걷기, 밥 먹기, 물 마시기 등 행동을 명시하는 경우에 사용됩니다.
특징을 정리하면
추상 클래스 :
extends 키워드를 사용, 자신의 기능들을 하위 클래스로 확장 시킴
관련성이 높은 클래스 간에 코드를 공유하고 싶은 경우 사용합니다.
인터페이스 :
implements 키워드를 사용, 인터페이스에 정의된 메소드들을 목적에 맞게 기능을 구현
서로 관련성이 없는 클래스들이 인터페이스를 구현하게 되는 경우 사용합니다.
'지식 > Java' 카테고리의 다른 글
[Java] DTO, VO, Entity 란? (0) | 2022.04.26 |
---|---|
[Java] 자바 static, final , static final 차이 (0) | 2022.04.25 |
[Spring] 객체지향 설계와 스프링 (SOLID) (0) | 2022.04.24 |
[Java] Call by value, Call by reference (0) | 2022.04.23 |
[Java] 자바 컴파일 과정, JVM 기본 개념 (0) | 2022.04.21 |