반응형
1. 추상클래스
- 한개의 추상메서드와 일반메소드로 구현가능
- 공통된 기능을 상속 받는 클래스에서 사용하고싶을때, 여러클래스에서 상속 받아서 사용할때 사용하면 좋다.
- 미완성된 설계도이고, 상속 받는 하위타입에서 완성을 유도한다.
-> 상속 관계를 쭉 타고 올라가서, 같은 조상클래스를 상속하면, 기능까지 완벽히 같은 기능이 필요한 경우 사용하면 좋다.
2. 인터페이스
- 추상메서드로만 구현가능
- 공통의 기능을 정의할때 사용하면 좋다. 여러클래스에서 공통된 기능을 제공할때, 해당 인터페이스를 사용하여,
기능 구현을 강제하면, 각 구현체들의 목적성이 뚜렷해진다.
- 설계도이고, 구현체에서 구현을 강제한다.
-인터페이스 장점
1. 협업 : return Type과, 메서드명을 미리 선언하여, 병행 개발을 가능하게 한다.
2. 교체 편리 : 단순히 기능을 변경하고자 할때, 다른 구현체를 만들어, 사용하는 곳의 생성 클래스 명만 바꾸면 된다.
3. 다중 상속 : 여러개의 인터페이스 구현이 가능하다.
-추상클래스 장점
- 코드 재사용성 용이
- 추상메소드로 필요한 기능은 별도로 상속 받는 쪽에서 구현, 완전 같은 기능은 하위타입에서 구현없이 사용가능
-단점
한개의 상속만 가능하다. 즉 다중상속이 불가하다.
반응형
'Language > [Java]' 카테고리의 다른 글
[Java] 지역 변수 , 인스턴스 변수, 클래스 변수 (0) | 2022.03.15 |
---|---|
[Java] 싱글톤 패턴 (0) | 2022.03.15 |
[Java] JIT 컴파일러 (0) | 2022.03.15 |
[Java] Java 장단점 (0) | 2022.03.15 |
[Java] OOP(객체 지향 프로그래밍) 관련 공부 (0) | 2022.03.14 |