221226 JAVA

거니·2022년 12월 26일
0

JAVA

목록 보기
11/14

ㅇㅇ

인터페이스

인터페이스

인터페이스란 implements 키워드를 사용하여 인터페이스의 모든 추상메소드를 구현한 클래스를 작성하는 것을 말한다.

인터페이스의 역할

인터페이스는 객체의 사용법을 정의한 타입이다.
객체의 교환성을 높여주어 다형성을 구현하는 역할을 한다.

인터페이스의 구성 요소

  • 상수
    인스턴스 또는 정적 필드 선언 불가능
    public static final 선언(생략가능)
  • 추상메소드
  • default메소드
    public접근지정자만 허용, 생략 가능
    인터페이스에 코드가 작성된 메소드
    인터페이스를 구현하는 클래스에 자동 상속
  • private메소드
    인터페이스 내에 메소드 코드가 작성되어야 함
  • static메소드

인터페이스 특징

  • 인터페이스는 필드(멤버변수) 선언 불가
  • 클래스는 인터페이스를 상속받을 수 없다.
  • 인터페이스끼리만 상속 가능
  • 인터페이스를 상속받는 클래스는 인터페이스의 모든 추상메소드 반드시 구현
  • 인터페이스의 다중 상속 가능

인터페이스의 구현(구현클래스)

  • 구현클래스는 선언부에서 implements 키워드를 추가한다.
  • 인터페이스의 모든 메소드는 기본적으로 public 접근제한을 갖기 때문에
    public보다 낮은 접근지정자는 선언 불가능하다.
  • 인터페이스의 추상메소드에 대응하는 실체 메소드를 구현클래스에서 작성하지 않으면
    구현클래스는 자동적으로 추상클래스가 된다.

    public class 클래스명 implements 인터페이스명 { }

익명 구현 객체

일회성의 구현 객체를 만들기 위해 클래스 소스 파일을 만드는것은 비효율적이다.
이때, 자바에서는 소스파일 없이 구현객체를 만드는 방식이 있는데 이것을 익명 구현 객체라고 한다.

인터페이스 변수 = new 인터페이스( ) { }; // < ; > 이 반드시 붙어야 한다

RemoteControl rc = new RemoteControl() {
			public void turnOn() {
				System.out.println("turnOn");
			}
			public void turnOff() {
				System.out.println("turnOff");
			}
			public void setVolume(int volume) {
				System.out.println("setVolume");
			}
		};

다중 인터페이스 구현

한 구현 클래스에 다중의 인터페이스를 구현 가능하다.
< , > 로 다중의 인터페이스를 구분한다.

public class 구현클래스명 implements 인터페이스1, 인터페이스2 { }

인터페이스 예제








0개의 댓글