JAVA
인터페이스(INTERFACE)
🤖 Play with Android 🤖
2021. 7. 2. 15:33
728x90
인터페이스란 클래스를 생성할 때 일종의 약속을 하는 것이다.
인터페이스의 이름은 보통 첫 글자를 대문자로 만들고 형용사처럼 이름을 붙인다. (필수는 아님)
그리고 클래스를 상속할 때는 하나의 클래스로부터 상속받을 수 있는 것과 대조적으로
인터페이스는 여러 개를 모두 적용할 수 있다.
이 경우 적용한 인터페이스들의 메소드를 모두 구현해야 한다.
인터페이스에서는 변수를 정의 할 수도 있다.
하지만 변수를 정의 하는 경우 반드시 초기화가 필요하다.
인터페이스에서 사용한 변수는 상수로 다른 변수를 다시 대입할 수는 없다.
interface Calculable {
double PI = 3.14; //한번 정해진 변수는 바뀔 수 없다.
int sum(int v1, int v2); //인터페이스에서 메소드의 형식을 미리 정해놓는다.
}
interface Printable {
void print();
}
class RealCal implements Calculable, Printable {
public int sum(int v1, int v2) {
return v1 + v2; //인터페이스에서 정해놓은 형식대로 구현해야 한다.
}
public void print() {
System.out.println("this is RealCal!!!");
}
}
public class InterfaceApp {
public static void main(String[] args) {
RealCal c = new RealCal();
System.out.println(c.sum(2, 1));
c.print();
System.out.println(c.PI);
}
만약 인터페이스가 가지고 있는 메소드를 하나라도 구현하지 않는다면 해당 클래스는 추상 클래스가 된다.(추상 클래스는 인스턴스를 만들 수 없음)