package com.java1.day19;
/**
* 인터페이스의 이해 인터페이스를 이해하기 위해서는 다음 두가지 사항을 반드시 염두에 두고 있어야 한다. -클래스를 사용하는쪽(user)과
* 클래스를 제공하는쪽(provider)이 있다. -메서드를 사용(호출)하는 쪽(user)에서는 사용하려는 메서드(provider)의 선언부만
* 알면 된다.(내용은 몰라도 된다)
*/
public class InterfaceTest15 {
public static void main(String[] args) {
A a = new A();
a.methodA(new B());
a.methodA(new C());
}
}
class A {
// 메서드의 매개변수의 타입에 따라서 여러개를 만들어 주어야 하는 단점이 있다.
// 인터페이스를 이용하면 해결 할수 있지 않을까? 예제 interfaceTest16을 보자.
public void methodA(B b) {
b.methodB();
}
public void methodA(C c) {
c.methodC();
}
}
class B {
public void methodB() {
System.out.println("methodB()");
}
}
class C {
public void methodC() {
System.out.println("methodC()");
}
}
methodB()
methodC()