인터페이스와 다형성 예제
// 아빠 인터페이스 interface father{} // 엄마 인터페이스 interface mother{} // 개발자 인터페이스 interface programmer{ public void coding(); } // 신도 인터페이스 interface believer{} // 스티브 클래스 class Steve implements father, programmer, believer{ // 하위클래스에 오버라이딩 public void coding(){ System.out.println("fast"); } } // 레이첼 클래스 class Rachel implements mother, programmer{ // 하위클래스에 오버라이딩 public void coding(){ System.out.println("elegance"); } } // 회사 클래스 public class Workspace{ public static void main(String[] args){ // 회사 클래스에서는 가정, 신도라는 것을 알 필요가 없다. // 그러하기에 개발자 인터페이스의 데이터타입으로 인스턴스화 하고 있다. programmer employee1 = new Steve(); programmer employee2 = new Rachel(); employee1.coding(); // fast 출력 employee2.coding(); // elegance 출력 } } | cs |
- Workspace(회사)에서는 가정에 대한 것은 신경을 쓰지 않아도 된다
- Workspace(회사)에서는 개발자와 코딩이라는 것만 알고 있으면 된다
- Workspace 클래스에서 개발자 인터페이스의 데이터 타입으로 인스턴스화 하여 정의하고 있다.
- Steve, Rachel 에 있는 메소드가 상위클래스의 오버라이딩했가면 인스턴스화 시킨 클래스의 메소드가 실행된다.
'STUDY > JAVA' 카테고리의 다른 글
finally (0) | 2018.01.22 |
---|---|
예외처리1 (0) | 2018.01.22 |
인터페이스와 다형성1 (0) | 2018.01.22 |
다형성(Polymorphism)2 (0) | 2018.01.22 |
다형성(Polymorphism)1 (0) | 2018.01.22 |