자바의 정석 - 인터페이스의 장점(1)

송용준·2023년 3월 27일

인터페이스의 장점

  • 두 대상(객체) 간의 연결, 대화, 소통을 돕는 '중간 역할'을 한다.
    inter(사이,between) + face(얼굴,대상) : 두 대상 사이, 중계, 컴퓨터가 바뀌어도 윈도우 화면이 바뀌지 않는 의미 (화면이 인터페이스) , 껍데기

  • 선언(설계)와 구현을 분리시킬 수 있게 한다.

오른쪽은 껍데기(I) 와 알멩이(C)로 분리해서 변경에 유리
왼쪽은 B가 껍데기와 알멩이가 합쳐져 있어서 변경이 불리

인터페이스를 이용함은 느슨한 결합으로 인해 변경에 유리

인터페이스 사용시 A는 껍데기인 I와 관계를 맺고 있으므로 I안의 알맹이인 B를 C로 바꿀 시 A를 바꿀 필요가 없다.

class A {		// A가 변경이 없게 하는게 목표
//	public void method (B b) {	// 인터페이스 사용 안할시	
	public void method (I i) {	// 인터페이스 I를 구현한 넘들만 들어와라
		i.method();
	}
}

// B클래스의 선언과 구현을 분리
interface I {
	public void method();
}

class B implements I{
	public void method() {
		System.out.println("B의 클래스의 메서드");
	}
}

class C implements I{
	public void method() {
		System.out.println("C의 클래스의 메서드");
	}
}

public class InterfaceTest {
	public static void main(String[] args) {
		A a = new A();
		a.method(new C());	// A가 B를 사용(의존)
	}
}
profile
용용

0개의 댓글