모바일 개발하는 자바리안의 메모장

자바(JAVA) - 인터페이스(interface) 본문

Java/Java.study

자바(JAVA) - 인터페이스(interface)

자바리안 2016. 8. 6. 16:36
반응형

인터페이스는 클래스처럼 그냥 하나의 타입이며,

클래스와의 상속관계를 형성할 수 있다.


나는 인터페이스를 그냥 메소드 꾸러미라 생각한다..


public interface AirConditionalSystem() {
	public void startAC(int size);
	public void stopAC();
}

public class Room implements AirConditionalSystem {
	int size;
	int windows;

	@Override
	public void startAC(int size) { // 추상메소드 구체화
	// code
	}
	@Override
	public void stopAC(){ // 추상메소드 구체화
	// code
	}
}


위 코드를 보면 AirConditionalSystem 의 타입이 interface이다.

이는 위에 언급한 바와 같이 interface 자체가 하나의 참조 타입이기 때문이다.

인터페이스의 몸체를 보면 구체화되지 않은 추상메소드가 존재하는 걸 볼 수 있다.


implements 예약어로 클래스에 상속해주며,

상속 받은 클래스는 interface에 존재하는 모든 추상메소드를 구현해줘야한다

(하지 않을 경우, exception 오류 발생)


비어있는 메소드를 담고 있는 인터페이스가 용이한 이유는

우선, 메소드들을 효율적으로 사용할 수 있게 간단히 정리할 수 있고,

객체의 특성에 따라 언제든 구체화 할 수 있기 때문인 것 같다.

반응형
Comments