JAVA (7) : 인터페이스

Chloé·2023년 4월 17일
0

💻 JAVA

목록 보기
7/7

인터페이스 정의

interface Alarm {
  public void beep();
  public void playMusic();
}

implements

class SmartPhone implements Alarm {
  // 프로토타입(추상) 메소드 오버라이딩(재정의)
  public void beep() {
    System.out.println("삐- 삐삑, 삐비비빅!");
  }
  public void playMusic() {
    System.out.println("동해물과 백두산이~");
  }
}

인터페이스와 다형성

class SmartPhone implements Alarm, Phone, Messanger {
  // 내부 생략..
}
// 스마트폰 객체 생성
SmartPhone sp = new SmartPhone();

// 스마트폰을 다양하게 해석 (업캐스팅 - 상위 타입으로 해석)
Alarm a = sp;	// 스마트폰은 알람이다. (o)
Phone b = sp;	// 스마트폰은 전화기이다. (o)
Messanger c = m = sp;	// 스마트폰은 메신저이다. (o)

인터페이스와 업캐스팅

// Flyable 인터페이스의 하위 객체 생성
Flyable b = new Bird();
Flyable h = new Helicopter();
Flyable r = new Rocket();

// 인터페이스 타입 배열을 통한 객체 저장
Flyable[] arr = { b, h, r };
profile
안녕하세용

0개의 댓글