관리 메뉴

어읽로꾸거

JAVA 인터페이스 정리 본문

정리

JAVA 인터페이스 정리

어읽로꾸거 2019. 3. 21. 00:11

인터페이스는 객체의 사용 방법을 정의한 타입


개발코드와 객체가 통신하는 중간역할을 한다고 생각하면 좋을듯



코드가 직접 메소드를 불러오면 좋지만, 중간에 인터페이스를 거치는 이유는 코드를 수정하지 않고 객체를 변경하기에 용이하기 때문


코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출한다. 



인터페이스 선언

interface 인터페이스 {

//상수

타입 상수이름 = 초기값(못바꿈);


//추상 메소드

타입 메소드이름(매개변수 ..);


//디폴트 메소드

default 타입 메소드이름(매개변수 ..);


//정적 메소드

static 타입 메소드이름(매개변수 ..);

}

상수 필드

인터페이스는 객체 사용설명서이므로 데이터를 저장하는 필드는 선언할 수 없다

하지만 상수필드는 선언 가능

상수는 인터페이스에 고정된 값으로 런타임시 바꿀 수 없음 그러므로 반드시 초기값을 대입해야함

모두 자동으로 public static final 속성을 갖는다


추상 메소드

객체가 갖고있는 메소드를 설명한것

실제 실행부분은 객체가 갖고있음 그래서 실제 작동부분을 가지지 않고(대괄호{}가 없음)

리턴타입 메소드명 매개변수만 갖고있음

자동으로 public abstract 특성을 갖는다


디폴트 메소드

인터페이스에 선언되지만, 객체가 갖고있는 인스턴스 메소드라고 생각해야함

따라서 형태는 인스턴스 메소드와 동일하다 

디폴트 메소드는 자동으로 public 특성을 갖는다


정적 메소드

디폴트메소드와 달리 객체가 없어도 호출이 가능함

형태는 정적static 메소드와 동일하다

이것도 public 특성을 갖는다