2014년 4월 8일 화요일

[Java]다형성(polymorphism)

  1. public class A {
  2.     int x;
  3. }
A Class가 int x 멤버변수를 가지고
  1. public class B extends A{
  2.     int y;
  3. }
B Class가 A Class로부터 멤버를 상속받아 int x, int y를 가지게 될 때 
  1. public class Main {
  2.     A a = (A)new B();
  3.     //a가 참조할 수 있는 멤버(int x)는 b가 다(int x, int y) 가지고 있기 때문에 문제 없다.
  4. }
위와 같이 만들 수 있는데 이를 다형성(polymorphism)이라합니다.

다형성(polymorphism)

다형성이란 단일 대상이 한가지의 기능만 수행하는것이 아니라 상황에 따라 기능을 바꾸어 여러가지

형태를 갖을 수 있는 성질을 의미합니다

객체지향에서 Overriding ,Overloading 을 말하는데 오버라이딩은 상속과 연관되어 부모 클래스에서 

정의된 메소드의 기능을 확장하거나 재정의하는것

오버로딩은 같은 이름의 다양한 파라미터 변수를 가진 메소드들을 정의하여 

여러 형태의 메세지를 단일 행위가 처리 할 수 있도록하는것

댓글 없음:

댓글 쓰기