Java
다형성
hs_developer
2022. 6. 25. 19:46
다형성은 큰 객체 안에 작은 객체를 넣어서 여러 형태로 변환해 사용하는 것이다.
다형성을 사용하면 객체화 시 다른 객체를 끌어다 생성한 변수에 넣어줄 수 있는데
철수 a= new 사람() 은 되지만
사람 a= new 철수() 는 안된다.
public class Human {
public void call()
{
System.out.println("HUMAN Call");
}
}
public class Cheolsu extends Human {
public void call()
{
System.out.println("CHEOLSU Call");
}
public void status()
{
System.out.println("CHEOLSU Status");
}
}
public class PolymorphismTest {
public static void main(String[] args) {
// Human 객체에 Cheolsu 객체를 넣음
Human h= new Cheolsu();
h.call(); // CHEOLSU Call
}
}
큰 개념인 Human에 Cheolsu를 넣어 정의할 수 있는데
여기서 껍데기는 Human이지만 안의 내용은 Cheolsu이기 때문에 call 메서드 호출할 시 Cheolsu Call이 호출된다.
public interface Champion {
public void call();
}
public class Kim implements Champion {
@Override
public void call() {
System.out.println("Kim Call");
}
}
import java.util.*;
public class PolymorphismTest {
public static void main(String[] args) {
Champion c= new Kim();
c.call(); // Kim Call
Map<String, String> m= new Hashmap<String, String>(); // 실사용 예제1
Map<String, String> m2= new LinkedHashmap<String, String>(); // 실사용 예제2
}
}
Map 인터페이스 안에
작은 개념인 HashMap과 LinkedHashMap이 들어있어
큰 개념인 Map에 넣어 사용할 수 있다.