인터페이스- JAVA

megaseunghan·2021년 12월 29일
0
post-thumbnail

인터페이스란?

  • 정의
    : 객체의 사용 방법을 정의한 타입, 객체 사용 설명서? 라고 이해하면 편하다.
    : 모든 기능을 추상화로 정의한 상태만 선언한다.
  • 역할
    1. 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할을 한다.
    2. 개발 코드와 객체가 서로 통신하는 접점의 역할

    직접 객체의 메소드를 호출하면 간단한데 굳이 인터페이스를 중간에 두는 이유?

  • 이유
    1. 개발 코드의 수정 없이 사용 객체를 변경할 수 있도록 하기 위해. ▶ 개발 시간 단축

    1. 하나의 인터페이스는 여러 객체들과 사용이 가능하기 때문에, 어떤 객체이냐에 따라 다양한 실행 내용 및 리턴값을 기대할 수 있다. ▶ 표준화 가능
  • 구성요소

public || default interface HUMAN {

    //상수 필드
    
    
    // 추상 메소드
    void wakeUp(int time);
    void sleep(int time);
    
    // 디폴트 메소드
    default void getSleepPattern(int sleepTime) {
    	if(sleepTime >= 8) {
            System.out.println("수면 시간 충분");
        } else {
            System.out.println("수면 시간 부족");
        }
    }
    // 정적 메소드
    static void takeShower() {
    	System.out.println("샤워를 합니다.");
    }
}
  • 인터페이스 구현 클래스
    implements 키워드를 통해 구현한다.

  • 상속 vs 인터페이스
    : 근래에는 인터페이스를 통해서 다형성을 구현하는 경우가 더 많다고 한다.
    🧐 다형성?
    : 하나의 타입에 대입되는 객체에 따라서 실행 결과가 다양한 형태로 나오는 성질

    그럼 상속과 인터페이스는 어떻게 다를까?
    상속 ▶ 같은 종류의 하위 클래스를 만드는 기술, 일반 메서드 + 추상 메서드
    인터페이스 ▶ 사용 방법이 동일한 클래스를 만드는 기술, 추상 메서드

0개의 댓글