본문 바로가기
STUDY/JAVA

인터페이스와 다형성2

by NOTEEE 2018. 1. 22.

인터페이스와 다형성 예제

// 아빠 인터페이스
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