728x90
목차
1. 추상
■ 추상이란?
- 추상은 공통된 사항들을 모아놓은 것을 말함
- 추상 클래스는 abstract라는 키워드를 사용해 나타냄
- 메소드에 중괄호{ }를 사용하지 않음
- 클래스에서 추상메소드가 하나라도 존재하면 추상 클래스로 표시함
- 추상 클래스는 설계도의 역할이며 설계까지만 하고 구현하지 않음
- 추상 클래스는 기본적으로 생성불가이며 생성을 위해서는 익명 클래스 사용
2. 예시
■ Transportation
package j14_추상;
public abstract class Transportation {
// 추상 메소드
public abstract void go();
public abstract void stop();
}
■ Taxi
package j14_추상;
public class Taxi extends Transportation {
// @시작하는 문법을 어노테이션이라고 함
// @Overrid는 재정의되었다고 하는 표기용
@Override
public void go() {
System.out.println("택시를 타고 출발");
}
@Override
public void stop() {
System.out.println("택시를 타고 도착");
}
public void checkTaxiNumber() {
System.out.println("택시 번호 확인");
}
}
■ Subway
package j14_추상;
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("지하철 노선 확인");
}
}
■ Airplane
package j14_추상;
public class Airplane extends Transportation {
// 1. 추상 메소드를 전부 구현
// 2. 추상 클래스로 변경
@Override
public void go() {
}
@Override
public void stop() {
}
}
■ Main
package j14_추상;
public class Main {
public static void main(String[] args) {
Transportation transportation = new Airplane();
}
}