추상 클래스
2022. 5. 26. 08:33ㆍJava
◎ 추상클래스
-> 미완성된 클래스로 미완성된 메서드인 추상 메서드를 포함하고 있는 클래스이다.
-> 추상클래스로 인스턴스를 생성할 수 없고, 상속을 통해 자손 클래스를 사용해야 완성될 수 있다.
-> 클래스 앞에 abstract를 붙이면 추상클래스가 된다.
-> 멤버변수와 메서드를 가질 수 있다.
◎ 추상메서드
-> 선언부만 작성하고 구현부는 작성되지 않은 메서드
-> 상속받는 클래스에 따라 메서드의 내용이 달라질 수 있어서 추상 메서드를 사용한다.
-> "abstract 리턴타입 메서드();"의 형태로 추상메서드를 선언한다.
-> 예제
abstract public class Car { // 추상클래스
abstract void refuel(); // 추상메서드
}
class ElectricCar extends Car{
void refuel() {System.out.println("전기");} // 추상메서드 구현
}
class dieselCar extends Car{
void refuel() {System.out.println("경유");} // 추상메서드 구현
}
-> 추상메서드를 선언하는 이유는 자손 클래스에서 추상메서드의 구현을 강요하기 위해서이다.
-> 추상메서드가 아닌 일반 메서드로 선언부만 작성되었다면, 자손 클래스에서 이 메서드를 완전한 메서드로 인식하고 오버라이딩으로 자신의 클래스에 맞게 구현하지 않을 수 있다.
★ 참고 및 출처
자바의 정석