반응형
[Java, 객체지향] 추상 클래스, 추상 메서드란?
추상 클래스는 추상 메서드를 가지고 있는 클래스를 의미한다.
추상 메서드는 body 부분( { } 또는 구현부 )이 없는 미완성 메서드이고,
추상 클래스는 미완성 클래스를 의미한다.
추상클래스에는 아래와 같이 abstract 제어자를 적어준다.
abstract class Customer {
abstract void grade(); // { }로 이루어진 메서드 body가 없다.
}
미완성인 만큼, 추상 클래스로는 인스턴스 생성이 불가하다.
그렇다면 이러한 추상 클래스는 왜 만드는 것일까?
이는 바로, 미완성이긴 해도 그 자체로 다른 클래스 작성에 도움이 되기 때문이다.
자손마다 메서드 구현 방식이 다른 경우에 추상 클래스를 이용하면 편리하다.
상속을 통해 추상 메서드를 구현해 나가면(=완성해 나가면) 인스턴스 생성이 가능하다.
class VIPCustomer extends Customer {
void grade() { ...생략... };
}
또한, 추상화된 코드는 구체화된 코드보다 변경에 유리하다.
(출처: 유튜브 남궁성의 정석코딩)
반응형
'Java' 카테고리의 다른 글
[Java, 객체지향] 인터페이스란? (Interface) (0) | 2021.08.17 |
---|---|
[Java] 향상된 for문 (enhanced for) (0) | 2021.08.16 |
[Java, 객체지향] 제어자란? (modifier) (접근 제어자 & static, final, abstract) (0) | 2021.08.12 |
[Java, 객체지향] 패키지란? (0) | 2021.08.12 |
[Java, 객체지향] 지역 변수, 멤버 변수의 초기화 (0) | 2021.08.11 |