article thumbnail image
Published 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);
	}

 

만약 인터페이스가 가지고 있는 메소드를 하나라도 구현하지 않는다면 해당 클래스는 추상 클래스가 된다.(추상 클래스는 인스턴스를 만들 수 없음)

 

'JAVA' 카테고리의 다른 글

Finally와 Try with Resource  (0) 2021.07.11
인터페이스(INTERFACE)보충 및 다형성(POLYMORHPISM)  (0) 2021.07.11
스태틱(STATIC)  (0) 2021.07.05
형변환  (0) 2021.07.02
오버로딩(Overloading), 오버라이딩(Overriding)  (0) 2021.07.01
복사했습니다!