프로그래밍/JAVA

객체지향에서의 다형성

코딩딩 2016. 3. 30. 14:56

다형성


정의

같은 타입이지만 실행결과가 다양한 객체를 이용할 수 있는 성질

하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해줌


전제  

부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있음

(자식클래스의 객체에는 부모클래스로 만든 객체를 포함하니까)


  • 부모클래스의 참조변수로 자식클래스 객체를 참조했을때는 부모클래스에 존재하는 멤버에만 접근이 가능함

  • 부모클래스의 참조변수로 자식클래스의 객체를 참조해서 부모클래스에 존재하는 멤버함수 호출 시 자식클래스에서 해당 메소드를 오버라이딩 했다면 실제 호출되는 함수는 자식에서 오버라이딩한 메소드가 호출됨(동적 바인딩)