인터페이스란

0

자바

목록 보기
10/17

인터페이스란

인터페이스란??

  • 역할을 부여하는 것
  • 추상 메소드로 구현
    • 추상 메소드란, 중괄호 내부가 없는 껍데기 메소드
  • 실생활 예시로써 스마트폰은 알람, 전화기, 메신저의 역할을 한다

인터페이스의 정의 및 구현

  • 코드 형식??
interface NAME {
  // 프로토타입 메소드들..
}
  • 코드 예
    • Alarm 인터페이스, beep 메소드와, playMusic이라는 추상메소드가 있다
interface Alarm {
  public void beep(); // 추상메소드
  public void playMusic(); // 추상메소드
}
  • 인터페이스 구현을 선언
    • 위 인터페이스 클래스를 구현, 이를 위해선 implements 키워드 사용
// SmartPhone 클래스가 Alarm 역할을 수행하기로 함!
class SmartPhone implements Alarm {
  // 내부 구현 생략..
}
  • 추상 메소드 오버라이딩
    • Alarm 인터페이스의 모든 추상 메소드를 재정의(오버라이딩)해야 한다.
class SmartPhone implements Alarm {
  // 프로토타입 메소드를 재정의!
  public void beep() {
    System.out.println("삐~ 삐삑, 삐비비빅!");
  }
  // 프로토타입 메소드를 재정의!
  public void playMusic() {
    System.out.println("아침 해가 빛나는~ 끝이 없는 바닷가!");
  }
}

인터페이스의 장점

  • 프로그램 설계의 명확성
  • 관계성 부여
    • 서로 다른 객체들이 같은 인터페이스를 구현하면, 인터페이스를 타입으로 하여 업캐스팅 할 수 있다.
  • 다형성
    • 여러 인터페이스를 구현하게 함으로써, 한 객체 타입을 여러 타입으로 해석할 수 있게 된다.
profile
목적지가 있는 개발자 백재원입니다.

0개의 댓글