인터페이스, 추상클래스 사용이유
인터페이스, 추상클래스를 사용하는 이유는 아래와 같습니다.
- 선언과 구현을 분리할 수 있다.
- 개발자 역량에 따른 메소드 이름과 매개변수 선언의 격차를 줄일 수 있다.
인터페이스, 추상클래스의 추상 메서드
인터페이스, 추상클래스의 선언된 추상메서드를 구현 클래스에서 꼭 구현을 해야합니다.
그렇지 않으면 컴파일 에러가 발생합니다.
인터페이스 | abstract 클래스 | 클래스 | |
선언 시 사용 예약어 | interface | abstract class | class |
구현 안된 메소드 포함 가능 여부 | 가능(필수) | 가능 | 불가 |
구현된 메소드 포함 가능 여부 | 불가 | 가능 | 가능(필수) |
static 메소드 선언 가능 여부 | 불가 | 가능 | 가능 |
final 메소드 선언 가능여부 | 불가 | 가능 | 가능 |
상속 가능 | 불가 | 가능 | 가능 |
구현 가능 | 가능 | 불가 | 불가 |
Enum 클래스
상수의 집합을 나타내는 클래스 입니다.
또한 Enum클래스의 부모는 java.lang.Enum입니다.
물론 Enum의 부모는 Object입니다.
하지만, Object의 clone, finalize, hashCode, equals 메소드의 사용을 막아놓았습니다.
'Java' 카테고리의 다른 글
HashMap, HashTable, ConcurrentHashMap (0) | 2023.08.22 |
---|---|
Java - 타입추론 Var (0) | 2023.08.17 |
Optional 클래스 (0) | 2023.08.17 |
StringBuffer, StringBuilder (0) | 2023.08.03 |
Pass by Value, Pass by reference (0) | 2023.07.27 |