JAVA 다형성

JAVA/JAVA 2015. 7. 31. 15:50 |

다형성(Polymorphism)

다형성이란 하나의 메소드나 클래스가 있을때 이것을 다양한 방법으로 동작하는것을 의미함


클래스와 다형성



클래스 B의 데이터형은 클래스 A이다.

클래스 B는 클래스A를 상속하고 있기 때문에 A 를 데이터형으로 삼는다.!!


클래스 B의 데이터 형을 클래스 A로 하면(상속) 클래스 B는 마치 A인거 처럼 동작한다.

클래스 B를 A인거 처럼 사용함



why ?


클래스 A의 메소드 X를 클래스 B에서 오버라이딩

B.x 실행결과


  • 클래스 B의 데이터 타입을 클래스 A인스턴스화 했을 때 클래스 B의 메소드 y는 존재하지 않는거처럼 동작함 = 클래스 B 가 클래스 A화 됨!!

  • 클래스 B의 데이터 타입을 클래스 A로 해서 인스턴스화 했을 때 클래스 B의 메소드 X를 실행하면 클래스 A에서 정의된 메소드가 아니라 클래스 B에서 정의된 메소드가 실행됨 = 클래스 B의 기본적인 성질은 그대로 간직함

  • 즉!! 클래스B를 클래스 A의 데이터 타입으로 인스턴스화 했을 때 클래스 A에 존재하는 맴버만이 클래스 B의 맴버가 됨. 동시에 클래스 B에서 오버라이딩한 맴버의 동작방식은 그대로 유지함.




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

java foreach 반복문  (0) 2015.08.13
JAVA 앞뒤 공백제거 trim()  (0) 2015.08.13
[java] URL(xml파일) java 파싱하는 방법  (0) 2015.08.12
예외처리  (0) 2015.07.31
인터페이스와 다형성  (0) 2015.07.31
Posted by 양승아
: