추상클래스(Abstract class)
- 미완성 클래스
- 다른 클래스에서 사용하기 위한 보조 클래스
//추상 메서드는 아래와 같이 선언만 되어있고 구현부가 없는 메서드,
//반드시 구현이 이루어져야 하기 때문에 private은 불가
public abstract class 클래스명()
// 추상 클래스는 아래와 같이 클래스 앞에 abstract가 붙음
abstract class 클래스이름 {
...
...
}
추상클래스의 특징
- 기본 클래스의 특징을 모두 가지고 있음
- 상태를 가질 수 있다.
- 직접 객체 생성 불가
- 간접적으로만 가능 → 자식 클래스에 의해서
- 추상메서드를 포함할 수 있다.
- 추상 클래스는 항상 추상 메서드를 포함할 필요는 없음
- 하지만 추상 메소드를 하나라도 가지는 클래스는 반드시 추상 클래스가 되어야 함
추상 클래스와 인터페이스
공통점
- 직접 객체 생성이 불가능
- 참조변수의 타입으로 사용 가능
차이점
- 추상클래스는 is a 관계의 경우 주로 사용
- 인터페이스는 has a 관계의 경우
- 해당 클래스가 특정 기능들을 구현해야 하는 경우
'JAVA' 카테고리의 다른 글
Spring의 WebSocket (0) | 2023.06.08 |
---|---|
자바의 Collection (0) | 2023.06.05 |
String 클래스의 메서드 (0) | 2023.06.02 |
자바 String 리터럴과 객체 생성의 차이 (0) | 2023.06.01 |
Java의 데이터 타입 (0) | 2023.05.31 |