Java

[Java, 객체지향] 추상 클래스, 추상 메서드란?

15호의 개발자 2021. 8. 16. 21:20
반응형

[Java, 객체지향] 추상 클래스, 추상 메서드란?

 

 

추상 클래스는 추상 메서드를 가지고 있는 클래스를 의미한다.

추상 메서드는 body 부분( { } 또는 구현부 )이 없는 미완성 메서드이고,

추상 클래스는 미완성 클래스를 의미한다.

 

추상클래스에는 아래와 같이 abstract 제어자를 적어준다.

 

abstract class Customer {

    abstract void grade();    // { }로 이루어진 메서드 body가 없다.

}

 

 

 

미완성인 만큼, 추상 클래스로는 인스턴스 생성이 불가하다.

 

 

 

그렇다면 이러한 추상 클래스는 왜 만드는 것일까?

 

이는 바로, 미완성이긴 해도 그 자체로 다른 클래스 작성에 도움이 되기 때문이다.

자손마다 메서드 구현 방식이 다른 경우에 추상 클래스를 이용하면 편리하다.

상속을 통해 추상 메서드를 구현해 나가면(=완성해 나가면) 인스턴스 생성이 가능하다.

 

class VIPCustomer extends Customer {

    void grade() { ...생략... };

}

 

또한, 추상화된 코드는 구체화된 코드보다 변경에 유리하다.

 

 

 

 

 

(출처: 유튜브 남궁성의 정석코딩)

반응형