추상 클래스
- 필드와 메서드 제어자에 제한이 없음.
정의
- 추상메서드를 1개 이상 포함하고 있는 클래스는 반드시 추상 클래스로 정의
추상 메서드
- 메서드 기능이 정의 되어 있지 않은 미완성 메서드 (중괄호가 없는 메서드)가 1개 이상 있다는 뜻.
- 앞에 abstract를 붙임.
예시
abstract class A {
abstract void abc(); // 중괄호 없이 명령어의 끝을 알리는 세미콜론(;)으로 끝나야 함.
}
특징
추상 클래스는 내부의 미완성 메서드 때문에 객체를 직접 생성할 수 없다.
이유: 힙 메모리에 생성되는 객체는 내부 요소가 미완성된 상태로 들어갈 수 없기 때문이다.
예시) A a = new A() 할 수 없음.
추상 클래스를 상속하는 자식 클래스는 부모에게 상속받은 미완성 메서드(추상 메서드)를 반드시 완성(오버라이딩) 해야 함.
추상 클래스 객체 생성 방법
- 추상 클래스를 상속한 일반 클래스 생성
- 익명 이너 클래스 사용
인터페이스
출처:
- Do it! 자바 완전 정복
- https://www.baeldung.com/java-interface-vs-abstract-class
'개발 > 자바' 카테고리의 다른 글
StringUtils (0) | 2022.05.23 |
---|---|
객체지향 프로그래밍 (0) | 2022.04.25 |
클래스, 객체, 인스턴스 (0) | 2022.04.25 |