인터페이스의 장점

essential·2023년 8월 27일

객체 지향

목록 보기
36/40

인터페이스의 장점(1)

  • 두 대상 (객체) 간의 “연결, 대화, 소통” 을 돕는 “중간 역할”을 한다 .
  • 선언(설계)와 구현을 분리 시킬 수 있게 한다.
  • 인터페이스 덕분에 B가 변경되어도 A는 안 바꿀 수 있게 된다.(느슨한 결합)

예제

class A {
//	public void method(B b) {
	public void method(I i) { // 인터페이스 I 를 구현한 넘들만 들어와라
			b.method();
	}
}

//class B {
//	public void method() {
//		System.out.println("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 클래스의 메서드");
	}
}

class A {
	public static void main(String[] args) {
		A a = new A();
		a.method=(New B()); // A가 B를 사용(의존)
	}
}
  • 주석 처리 해놓은 클래스 B 를 사용하기 위해 A 클래스 매개변수 (I i) 로 되어 있는 부분을 수정 해야 함
  • I i 로 변경하고 B,C 를 인터페이스를 이용해서 구현하면 A 클래스의 변경 없이 구현 가능
  • C 를 사용하고 싶다면 A 클래스의 변경 없이 a.method=(New B()); 이 부분만 변경하면 됨 (= 변경의 최소화)

인터페이스의 장점(2)

  • 개발 시간을 단축할 수 있다.
  • 변경에 유리한 유연한 설계가 가능하다.
  • 표준화가 가능하다.
  • 서로 관계 없는 클래스들을 관계를 맺어줄 수 있다.
profile
essential

0개의 댓글