인터페이스를 사용하는 이유


1) 협업시 개발자간 규약을 통해 구현부만 선 진행이 가능하다.

2) 클래스간의 결합도를 줄일 수 있다. (종속성 제거)

3) 핵심소스을 노출하지 않고 인터페이스만 노출할 때 사용한다. (외부에 내 라이브러리를 제공하고자 할때..)

4) 기타... 여러가지 이유가 있겠지만... 나머지는 댓글에... 달아주세요..^^


말그대로.. 인터페이스를 통해 접근하는 예제를 보여줍니다.


package com.test;

public class InterfaceTutorial {

	public static void main(String[] args) {
		A1 a = new A1();
		a.autoPlay(new B1());
		a.autoPlay(new C1());
	}
}

interface I{
	public abstract void play();
}

class A1{
	void autoPlay(I i){
		i.play();
	}
}

class B1 implements I{
	public void play() {
		System.out.println("play in B1 class");
	}
}

class C1 implements I{
	public void play() {
		System.out.println("play in C1 class");
	}
}


결과)


play in B1 class

play in C1 class