남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다.
인터페이스의 장점
- 두 대상(객체) 간의 '연결, 대화, 소통' 을 돕는 '중간 역할'을 한다.
- 선언(설계)과 구현을 분리시킬 수 있게 해준다.
- 개발 시간을 단축할 수 있다.
- 변경에 유리한 유연한 설계가 가능하다.
- 표준화가 가능하다.
- 서로 관계없는 클래스들을 관계를 맺어 줄 수 있다.
직접적인 관계의 두 클래스 (A - B)
class A {
public void methodA (B b){
b.methodB();
}
}
class B {
public void methodB(){
System.out.println("methodB()");
}
}
class InterfaceTest{
public static void main(String args[]){
A a = new A();
a.methodB(new B());
}
}
간접적인 관계의 두 클래스 (A - I - B)
class A {
public void method(I i){ // I를 사용
i.method();
}
}
interface I (void methodB();} // 껍데기
class B implements I { // 알맹이
public void methodB(){
System.out.println("method()");
}
}
class C implements I {
public void methodB(){
System.out.println("methodB() in C");
}
}
'프로그래밍 > JAVA' 카테고리의 다른 글
자바의 정석 기초 ( 컴파일 에러 / 런타임 에러 / 논리적 에러 / 예외처리 정의 / 예외처리 목적 / Exception 클래스 / RuntimeException클래스 / 멀티 catch블럭 ) (0) | 2020.07.19 |
---|---|
자바의 정석 기초 ( 내부클래스 / 내부클래스 장점 / 익명클래스 ) (0) | 2020.07.19 |
자바의 정석 기초 ( 인터페이스 / 인터페이스 추상클래스 공통점 & 차이점 ) (0) | 2020.07.15 |
자바의 정석 기초 ( 추상클래스 (abstract class) / 추상메서드 (abstract method) ) (0) | 2020.07.14 |
자바의 정석 기초 ( 매개변수 다형성 / 하나의 배열에 여러 종류 객체 저장 ) (0) | 2020.07.12 |
댓글