추상 클래스

2022. 5. 26. 08:33Java

◎ 추상클래스

-> 미완성된 클래스로 미완성된 메서드인 추상 메서드를 포함하고 있는 클래스이다.

-> 추상클래스로 인스턴스를 생성할 수 없고, 상속을 통해 자손 클래스를 사용해야 완성될 수 있다.

-> 클래스 앞에 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("경유");} // 추상메서드 구현
}

-> 추상메서드를 선언하는 이유는 자손 클래스에서 추상메서드의 구현을 강요하기 위해서이다.

-> 추상메서드가 아닌 일반 메서드로 선언부만 작성되었다면, 자손 클래스에서 이 메서드를 완전한 메서드로 인식하고 오버라이딩으로 자신의 클래스에 맞게 구현하지 않을 수 있다.

 

★ 참고 및 출처

자바의 정석

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76083001&partner=googlek&BSCPN=ORM&BSPRG=ADWORDS&BSCCN1=89221&utm_source=ADWORDS&utm_medium=cpc&utm_term=JAVA%C0%C7%C1%A4%BC%AE&gclid=Cj0KCQjwm6KUBhC3ARIsACIwxBh0GfDwaYEn-OxcsMebsH6l7xUyjucQnjB91bKGtzZvvFY8dkB1ULQaAnlhEALw_wcB 좋아요공감 공유하기통계글 요소

'Java' 카테고리의 다른 글

래퍼 클래스  (0) 2022.06.27
인터페이스  (0) 2022.05.27
다형성(2)  (0) 2022.05.26
다형성(1)  (0) 2022.05.25
오버라이딩  (0) 2022.05.23