2017.04.30 18:34

다형성이란 여러 가지 형태를 가질 수 있는 것이다.


자바에서 다형성이란 한 타입의 참조 변수 로 여러 타입 객체를 참조 할 수 있다는 것이다.


자세히 이야기 하면 조상 클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조 할 수 있도록 하는 것이다.




이와 같이 Tv클래스를 상속받는 Caption Tv가 있다고 가정 할 때
.
 


지금 까지는 이와 같이 인스턴스를생성 하여 사용하였다.


다형성을 사용하면 아래와 같이 인스턴스를 생성 할 수 있다.




다형성을 사용하기 위한 전제 조건은 상속을 받는 객체에 한정된다.


모든 객체는 Object를 상속 받기 때문에 Object 타입으로 인스턴스를 생성 할 수있다.


다형성을 사용 할 경우와 다형성을 사용하지 않을 경우의 차이점이 있다.


다형성을 사용하지 않을 경우 자기 자신의 클래스를 인스턴스화를 하였기 때문에 메소드와 멤버변수를 모두 사용 할 수 있다.


다형성을 사용 할 경우는 조상 클래스의 메소드와 멤버변수만을 사용 할 수 있다.


이해를 위해 쉽게 설명하면 ,


일반 TV와 IPTV가 있으며 일반 TV용 리모콘과 IPTV용 리모콘이 있다.


여기서 리모콘으로 예를 들도록 할 것이다.


자기 자신을 객체화 한것은 


일반 TV를 사용하기 위해 일반 TV용 리모콘을 사용하고,


IPTV를 사용하기 위해 IPTV용 리모콘을 사용하는 것이다.


다형성은 일반 TV를 사용하는데 IPTV용 리모콘을 사용하는 것이다.


여기서 아무리 IPTV용 기능을 눌러도 일반 TV는 인식하지 못한다.


그 이유는 일반 TV에는 IPTV용 기능이 없기 때문이다.


이것이 바로 다형성이다.


조상 클래스의 타입으로 선언한 자식 클래스는 조상클래스에 있는 기능만 사용 할 수 있는 것이다.






저작자 표시 비영리 변경 금지
신고

'Programing > JAVA' 카테고리의 다른 글

다형성  (0) 2017.04.30
JAVA설치 및 환경변수설정_1  (0) 2016.12.25
JAVA설치 및 환경변수설정_2  (0) 2016.12.25
JAVA설치 및 환경변수설정_3  (1) 2016.12.25
JAVA설치 및 환경변수설정_최종확인.  (0) 2016.12.25
JAVA의 특징  (0) 2016.12.25