728x90

1. 추상클래스

  • 추상 클래스는 아직 완성되지 않은 클래스라고 할 수 있다.
  • 추상 클래스는 객체를 생성할 수 없고, 추상 클래스를 상속한 자식 클래스만 객체를 생성 할 수 있다.
  • 추상 클래스에는 추상 메소드를 만들 수 있다.

2. 추상 메소드

  • 추상 클래스 혹은 인터페이스에서 사용 가능한 메소드이다.
  • 껍데기만 있는 메소드라고 할 수 있다.
  • 추상 메소드는 상속한 자식 클래스에서 반드시 구현해야한다.
public abstract class AmusementPark{ // 추상 클래스
    public void isChild(){
        System.out.println("어린이가 입장합니다.")
    }

    public void isAdult(){
        System.out.println("어른이 입장합니다.")
    }

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

public class AdultTicket extends AmusementPark{
    @Override
    public void price(){ // 추상 클래스를 상속 받은 자식은 반드시 추상 메소드를 구현해야함
        System.out.println("어른의 입장료는 50000원 입니다.");
    }
}

public class ChildTicket extends AmusementPark{
    @Override
    public void price(){
        System.out.println("어린이의 입장료는 30000원 입니다.");
    }
}

위와 같이 'abstract' 키워드를 사용하여 추상 클래스와 추상 메소드를 만들 수 있다.

public static void main(String[] args){

    // AmusmentPark amusementPark = new AmusementPark();처럼 추상 클래스는 객체 생성 불가
    AdultTicket adult = new AdultTicket();
    adult.price();

    ChildTicket child = new ChildTicket();
    child.price();
}

// 출력 결과 
// 어른의 입장료는 50000원 입니다.
// 어린이의 입장료는 30000원 입니다.

메인 메소드에서는 위와 같이 사용할 수 있다.

728x90

'Java' 카테고리의 다른 글

인터페이스 - 놀이공원 티켓 구입하기  (0) 2023.06.08
인터페이스  (0) 2023.06.08
클래스 - 샌드위치 만들기  (0) 2023.06.07
클래스 - 3  (0) 2023.06.07
클래스 - 2  (0) 2023.06.07

+ Recent posts