왜 인터페이스를 써야 하나? 에는 많은 의견들이 있습니다.
나의 의견 >>
인터페이스는 식당에서 메뉴판과 같은 역할을 하는데, 예를 들면 기능이 같은 함수를 여러 클래스가 사용할 수 있게 만드는 틀이라고 생각한다.
이런식으로 다형성으로 인해 같은 인터페이스 형으로 변환 될 수 있다. 지금까지가 저의 생각이었구요.
다형성 : 한가지 표현 방식으로 여러가지 기능을 수행할 수 있는 것 이라고 표현할 수 있다.
넓은 의미에서 인터페이스란 외부와의 의사 소통을 위한 매개체이다. 의사 소통을 위해서는 외부와의 정해진 약속이 있어야 할 것이다. 이를 '표준 규격' 이라 한다.
인터페이스를 정의하고 활용하는 이유는 물론 인터페이스를 구현하는 부품들이 중구난방이 되지 않기 위한 최소한의 규약을 정하기 위해서 이지만, 이를 넓게 생각해본다면 확장의 여지가 있는 부분을 클래스로 제작해 닫아버리기보다는 인터페이스로 선언하여 최소한의 선을 정해놓고 융통성을 발휘하고자 하는 의도도 포함되어 있다.
관련 출처 :
http://www.okjsp.net/bbs?seq=161248
http://jjeong.tistory.com/607
나의 의견 >>
인터페이스는 식당에서 메뉴판과 같은 역할을 하는데, 예를 들면 기능이 같은 함수를 여러 클래스가 사용할 수 있게 만드는 틀이라고 생각한다.
Interface IPirntHelper { int idx; public void print(); } class A implements IPrintHelper { public A() { } public void print() { //기능 } } class B implements IPrintHelper { public B() { } public void print() { //기능 } } //이 부분이 중요 //A , B 둘다 IPrintHelper 형으로 변환이 됩니다. IPrintHelper helper = new A(); IPrintHelper helper2 = new B(); helper.print(); helper2.print();
이런식으로 다형성으로 인해 같은 인터페이스 형으로 변환 될 수 있다. 지금까지가 저의 생각이었구요.
다형성 : 한가지 표현 방식으로 여러가지 기능을 수행할 수 있는 것 이라고 표현할 수 있다.
넓은 의미에서 인터페이스란 외부와의 의사 소통을 위한 매개체이다. 의사 소통을 위해서는 외부와의 정해진 약속이 있어야 할 것이다. 이를 '표준 규격' 이라 한다.
인터페이스를 정의하고 활용하는 이유는 물론 인터페이스를 구현하는 부품들이 중구난방이 되지 않기 위한 최소한의 규약을 정하기 위해서 이지만, 이를 넓게 생각해본다면 확장의 여지가 있는 부분을 클래스로 제작해 닫아버리기보다는 인터페이스로 선언하여 최소한의 선을 정해놓고 융통성을 발휘하고자 하는 의도도 포함되어 있다.
관련 출처 :
http://www.okjsp.net/bbs?seq=161248
http://jjeong.tistory.com/607