추상클래스란?
추상클래스는 미완성 설계도로 비유할 수 있다.
미완성 메서드(추상메서드)를 포함하고 있다는 의미이다.
추상클래스는 클래스로서의 역할은 다 못하지만,
새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스이다.
즉, 새로운 클래스를 작성할때 틀을 제공해준다.
클래스 앞에 'abstract'를 붙이면 추상클래스이다.
이 앞의 'abstract'를 보고 내부에 추상메서드가 있다는 것을 쉽게 알 수 있다.
추상메서드(abstract method)
메서드는 선어부와 구현부로 구성되어 있다.
추상메서드는 선언부만 작성해놓은 것이다. 즉 설계만 하고 실제 수행할 내용은 작성하지 않은 미완성 메서드이다.
메서드의 내용이 상속받는 클래스에 따라 달라질 수 있는 상황에서 쓰인다.
/* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명 */
abstract 리턴타입 메서드이름();
추상클래스로부터 상속받는 자손클래스는 오버라이딩을 통해 조상의 추상메서드를 모두 구현해주어야한다.
만약 하나라도 구현하지 않으면, 자손도 추상클래스로 지정해줘야한다.
추상화와 구체화
추상: 낱낱의 구체적 표상이나 개념에서 공통된 성질을 뽑아 이를 일반적인 개념으로 파악하는 정신 작용
추상화: 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업
구체화: 상속을 통해 클래스를 구현, 확장하는 작업
참조
'Java의 정석' 책
'Language > Java' 카테고리의 다른 글
[Java] 내부 클래스(inner class),익명 클래스 (0) | 2022.03.05 |
---|---|
[Java] 인터페이스(interface) (0) | 2022.03.04 |
[Java] 다형성(polymorphism) - 업캐스팅,다운캐스팅 (0) | 2022.03.04 |
[Java] 제어자(modifier) - 접근 제어자와 그 외 제어자(캡슐화) (0) | 2022.03.04 |
[Java] Package와 import (0) | 2022.03.04 |
댓글