• 인터페이스(interface)

    2021. 6. 3.

    by. 와트

    인터페이스: 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할. 추상 메소드상수로만 이루어져 있음.

    클라이언트 프로그램에 어떤 메소드를 제공하는지 미리 알려주는 명세 또는 약속의 역할을 한다. 즉, 인터페이스를 구현한 클래스가 어떤 기능의 메소드를 제공하는지 명시하는 것. 인터페이스를 사용하면 다형성을 구현하여 확장성 있는 프로그램 만들기가 가능해진다.

    인터페이스는 추상 메소드로 이루어지므로 인스턴스 생성 불가능, 멤버 변수 사용도 안 됨. 변수 선언시 컴파일하면 상수로 변환. 자바 8부터는 인터페이스 활용성 향상을 위해 디폴트 메소드와 정적 메소드 기능을 제공한다.

    디폴트 메소드: 기본으로 제공되는 메소드. default 예약어 사용. 하위 클래스에서 재정의 가능.

    정적 메소드: static 예약어 사용. 사용시 인터페이스 이름으로 직접 참조하여 사용. 

    자바 9부터는 private 메소드 구현 가능. 코드를 모두 구현해야 하므로 추상 메소드에 해당 예약어 사용은 안되지만 static 예약어는 사용 가능. 

    한 클래스가 여러 인터페이스 구현, 인터페이스간 상속 가능.

     

    '혼자 있는 방 > Java' 카테고리의 다른 글

    Homework(1)  (0) 2021.06.17
    자바 라이브러리  (0) 2021.06.07
    추상 클래스(abstract class)  (0) 2021.06.02
    상속과 다형성(inheritance&polymorphism)  (0) 2021.06.02
    객체 배열  (1) 2021.05.30

    댓글

Designed by Nana