JAVA-Polymorphism
다형성
다형성이란 같은 부모를 가진 다른 자식을 상황에 맞게 사용하는 것을 의미한다.
하나의 Type(부모)로서 다른 결과를 얻을 수 있다. => 객체를 부품화하여 유지 보수를 용이하게 한다.
참조 :JOKER 블로그
밑의 코드를 보게 되면 Car라는 하나의 Interface을 상속받는 Sonata와 Genesis가 존재한다. Car가 Interface이므로 Sonata와 Genesis가 같은 Method를 Override하지만 Method의 내용은 다르므로 다른 결과를 얻을 수 있다.
//Interface 정의
public interface Car {
void name();
void price();
}
//Grenger Class 정의
public class Grenger implements Car{
//Car Method Override
@Override
public void name() {
System.out.println("Grenger");
}
@Override
public void price() {
System.out.println("8000");
}
}
//Sonata Class 정의
public class Sonata implements Car{
//Car Method Override
@Override
public void name() {
System.out.println("Sonata");
}
@Override
public void price() {
System.out.println("4000");
}
}
//Polymorphism 예제
public class Polymorphism {
public static void main(String[] args) {
Car c1 = new Grenger();
Car c2 = new Sonata();
c1.name();
c1.price();
c2.name();
c2.price();
/*
Car 라는 동일한 Type을 가지지만
Car의 자식 중 다른 Sonata 와 Grenger를 사용하여
Grenger 8000 Sonata 4000라는 다른 결과가 나온다
*/
}
}
참조: 원본코드 코드에 문제가 있거나 궁금한 점이 있으면 wjddyd66@naver.com으로 Mail을 남겨주세요.
Leave a comment