본문 바로가기
Programming Languages/Java

Chapter 18. 추상

by 더 이프 2023. 1. 13.
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();
    	}
    }