본문 바로가기

백엔드개발자 준비하기

[백엔드개발자 준비하기] 추상클래스

추상
-공통된 것들을 뽑아내는 것

-추상클래스에 정의되어있는 추상메소드는 상속받은 자식클래스에서 재정의하여 써야함(오버라이드)

클래스 내에 추상 메소드가 하나라도 있으면 추상 클래스로 변경
- 생성을 못함

추상 클래스를 상속받는 클래스를 만들기 위해서는 추상 클래스가 들고있는 추상 메소드를 전부 구현하거나 만든 클래스도 추상 클래스로 변경하여야 함

 

예시

추상클래스인 Transportation을 Subway 와 Taxi가 상속받아 사용함

[Transportaion]

public abstract class Transportation {

	// 추상 메소드
	public abstract void go();

	public abstract  void stop();
}

 

[Subway]

public class Subway extends Transportation {

	@Override // @로  시작하는 문법을 어노테이션이라고 한다
	public void go() {
		System.out.println("지하철을 타고 출발");
	}

	@Override
	public void stop() {
		System.out.println("지하철을 타고 도착");
	}
	
	public void checkRoute() {
		System.out.println("지하철 노선 확인");
	}
}

 

[Taxi]

public class Taxi extends Transportation {

	@Override // @로  시작하는 문법을 어노테이션이라고 한다
	public void go() {
		System.out.println("택시를 타고 출발");
	}

	@Override
	public void stop() {
		System.out.println("택시를 타고 도착");
	}
	
	public void checkTaxiNumber() {
		System.out.println("택시 번호 확인");
	}
}

 

[Main]

public class Main {
	public static void main(String[] args) {
		Transportation transportation = new Airplane();
	}
}