티스토리 뷰

객체지향에서 다형성의 3가지 종류


Overloading : 동일한 함수의 이름 사용 가능, 같은 클래스 내에 같은 이름의 생성자나 메소드를 사용하는 행위,매개변수의 개수와 타입이 달라야 한다


Overriding : 상위 클래스에서 정의된 함수를 하위 클래스에서 재 정의, 기존 클래스의 메소드 구현 부분만 약간 변화시켜 새로운 클래스를 생성할 수 있다. 매개변수의 개수와 타입이 같아야 한다.

상위 클래스로부터 메소드를 상속받을 때, 서브클래스 내에 같은 이름의 메소드가 있는 경우에 Signature가 다르면 중복(overloading)이 되고 Signature가 같으면 재정의(overriding)가 된다.


Template : 타입을 인자로 하여 새로운 타입을 생성