본문 바로가기
Language/Java

[Java] 추상클래스(abstract class) -추상화,구체화

by 계범 2022. 3. 4.

추상클래스란?

추상클래스는 미완성 설계도로 비유할 수 있다.

미완성 메서드(추상메서드)를 포함하고 있다는 의미이다.

 

추상클래스는 클래스로서의 역할은 다 못하지만,

새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스이다.

 

즉, 새로운 클래스를 작성할때 틀을 제공해준다.

 

클래스 앞에 'abstract'를 붙이면 추상클래스이다.

이 앞의 'abstract'를 보고 내부에 추상메서드가 있다는 것을 쉽게 알 수 있다.

 

추상메서드(abstract method)

메서드는 선어부와 구현부로 구성되어 있다.

추상메서드는 선언부만 작성해놓은 것이다. 즉 설계만 하고 실제 수행할 내용은 작성하지 않은 미완성 메서드이다.

 

메서드의 내용이 상속받는 클래스에 따라 달라질 수 있는 상황에서 쓰인다.

 

/* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명 */
abstract 리턴타입 메서드이름();

 

추상클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상의 추상메서드를 모두 구현해주어야한다.

만약 하나라도 구현하지 않으면, 자손도 추상클래스로 지정해줘야한다.

 

추상화와 구체화

추상: 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용
추상화: 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업
구체화: 상속을 통해 클래스를 구현, 확장하는 작업

 

참조

'Java의 정석' 책

댓글