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 |