728x90
반응형
추상클래스와 인터페이스
추상클래스(abstract class)
- 서로 기능이 비슷한 클래스의 공통부분을 묶을 때 사용
- 구현 메서드와 추상 메서드를 함께 가질 수 있다.
- 50% 디자인(설계), 50% 구현
- extends keyword 사용
- 구현 메서드를 가질 수 있다.
인터페이스(interface)
- 서로 기능이 다른 클래스의 공통부분을 묶을 때 사용
- 100% 추상 메서드로 이루어진다.
- 100% 디자인(설계), 규약
- implements keyword 사용
- 구현 메서드를 가질 수 없다.
- 다중상속 형태를 지원한다.
- final static 멤버변수를 가질 수 있다.
공통점
- 다형성을 보장하기 위해서 등장
- 객체를 생성할 수 없다. (new X)
- 하위 클래스에 의해 구현되어야 한다.(override : 재정의 필수)
- 부모(상위클래스)의 역할로 사용한다.(upcasting으로 객체를 생성)
- 추상 메서드를 가진다.
728x90
반응형
'JAVA > Java TPC(생각하고, 표현하고, 코딩하고)' 카테고리의 다른 글
[JAVA] Object 클래스 (0) | 2022.07.26 |
---|---|
[JAVA] 인터페이스(규약)와 JDBC의 관계 (0) | 2022.07.26 |
[JAVA] 다형성 (0) | 2022.07.26 |
[JAVA] 재정의(override) (0) | 2022.07.21 |
[JAVA] Inheritance(수평적구조vs수직적구조) - 상속 (0) | 2022.07.21 |