Back-End/JAVA

[Java] 추상 클래스(abstract)

챌링킴 2021. 5. 27. 20:06
반응형

1) 추상 클래스(불완전한 클래스)

추상적인 내용만 정의하고 있는 클래스로

구체적인 내용은 상속받은 하위 클래스에서 구현되도록 설계된 클래스이다.

 

추상 클래스(부모)는 클래스들(자식)의 공통 요소들을 가상화시켜놓기 때문에

객체화시 구현(재정의)을 꼭 해줘야한다.

 

부모 추상 클래스의 역할은 단지 자식 클래스를 만들 때 도와주는 역할을 수행한다.

그렇기 때문에 자식 클래스에서 선언할 메소드의 이름과 형태만 가지고 있다.

즉, 메소드에 { } (바디)가 없다.

 

이런 메소드를 추상 메소드라고 하며, 리턴타입 앞에 abstract 라는 키워드가 붙는다.

추상 메소드가 클래스 내에 한 개라도 포함되어있다면 추상 클래스로 선언해야 한다.

 

2) 추상 클래스 선언

abstract class 클래스명{

        리턴타입 일반메소드명( ) { 메소드 내용 }

        abstract 리턴타입 추상메소드명( );

}

 

3) 추상 클래스 특징

자식 클래스에서 강제적으로 반드시 재정의해야한다.

일반 메소드도 추상 클래스 내부에 존재할 수 있다.

반응형