OOP
Overloading vs Overriding
pocket.quokka
2023. 11. 12. 10:52
Overloading/오버로딩
함수의 이름은 같지만 파라미터의 타입/수가 다른 함수를 중복으로 선언하는 것
함수의 로직은 같으나 파라미터만 달라질 때 사용할 수 있다.
파라미터의 수가 달라질 때는 순서대로 뒤에 차곡차곡 추가되어야한다.
interface Print {
print(data: string): string;
print(data: number): number;
print(data: string, extraData: number): string; // 파라미터 차곡차곡
print(extraData: string, data: number): string; // 차곡차곡이 아니라서 이건 안됨
}
Overriding/오버라이딩
부모 클래스의 함수 구현 내용을 재정의하여 사용하는 것 --> 부모 클래스에서 내려온 함수 대신 내가 정의한 함수를 사용하기 위해서 사용
함수 이름/파라미터 개수/파라미터 타입/리턴 타입 모두 같아야 함