JAVA :: 인터페이스
📝 인터페이스
💬 개발 코드와 객체 사이에서, 객체에 따라 다른 메소드를 호출할 수 있도록 하는 중간 역할을 한다.
💡 인터페이스 선언
💬 interface 키워드를 사용하여 선언한다.
interface 변수 {⋯}
💡 인터페이스 특징
💬 오직 추상 메소드와 상수 필드로만 구성된다.
⚠ 추상 메소드의 abstract public, 상수 선언 시의 public static final 키워드를 생략할 수 있다.
👉예시
(public) interface Light {
(public static final) int MAX_BRIGHTNESS = 20; //상수 필드 선언
(abstract public) void On(); //추상 메소드 선언
(abstract public) void Off(); //추상 메소드 선언
}
💬 추상 메소드만 가지기 때문에 객체를 생성할 수 없다.
💬 인터페이스를 상속받아 새로운 인터페이스를 만들 수 있다.
⚠ 콤마로 연결하여 다중의 인터페이스를 상속을 받을 수 있다.
interface 상속받는인터페이스변수 extends 인터페이스변수1, 인터페이스변수2 {⋯}
💡 인터페이스를 구현한 구현 클래스
💬 인터페이스를 상속받고, 인터페이스에 있던 추상 메소드를 재정의하여 작성한 실행 내용을 가지고 있는 클래스이다.
⚠ 구현 클래스에 추가적으로 다른 메소드도 작성할 수 있다.
💬 implements 키워드를 사용하여 인터페이스를 구현한다.
⚠ 구현 클래스에는 반드시 인터페이스의 모든 메소드를 구현하여야 한다.
(public) class 구현클래스변수 implements 인터페이스변수 {⋯}
💬 콤마로 연결하여 다중의 인터페이스로 구현 클래스를 구성할 수 있다.
(public) class 구현클래스변수 implements 인터페이스변수A, 인터페이스변수B {⋯}
👉예시
public class Computer implements TV, Light {
⋯
}
💬 인터페이스는 필드, 매개 변수, 로컬 변수의 타입으로 선언이 가능하다.
👉예시
public class Example {
//Field
Computer computer_interface = new Light(); //필드로 선언
//Constructor
Example(Computer computer_interface) { //생성자의 매개값으로 구현 객체 대입
this.computer_interface = computer_interface;
}
//Method
void methodA() {
//local variable
Computer computer_interface = new TV(); //로컬 변수의 타입으로 선언
}
void methodB(Computer computer_interface) {⋯}; //생성자의 매개값으로 구현 객체 대입
}
※ Computer computer_interface에는 main에서 실행할 때 인터페이스였던,
new TV()나 new Light()를 대입할 수 있다.
💡 구현 클래스 사용 방법
💬 implements 키워드를 사용하여 인터페이스를 구현한다.
인터페이스변수 변수 = new 구현객체(매개변수, ⋯)
Reference
명품 자바 에센셜(2014, 황기태)
Author And Source
이 문제에 관하여(JAVA :: 인터페이스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ro_sie/JAVA-인터페이스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)