2023.04.05 TIL

조진호·2023년 4월 5일
0

TIL

1. 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이

오버로딩과 오버라이딩은 모두 다형성(Polymorphism)을 구현하기 위한 개념이다.

먼저 오버로딩은 같은 이름을 가진 함수나 연산자를 인자의 개수나 자료형에 따라 다른 동작을 하도록 정의하는 것이다. 이는 함수의 이름을 재사용하면서 코드의 가독성을 높이고 중복된 코드를 줄일 수 있다.

반면에 오버라이딩은 상속 관계에서 부모 클래스에서 정의된 함수를 자식 클래스에서 새로운 구현으로 대체하는 것이다. 즉, 부모 클래스의 함수와 같은 이름, 매개변수, 반환형을 갖는 함수를 자식 클래스에서 새로 정의하여 부모 클래스의 함수를 덮어쓰게 된다.

그럼 오버로딩을 상속 관계에서 사용하는 것이 오버라이딩인 것인가?

위처럼 생각할 수도 있으나 둘은 다른 개념이다.

오버로딩은 클래스의 상속과는 직접적인 연관은 없으며, 자식 클래스에서 오버라이딩한 함수는 오버로딩한 함수와 달리 부모 클래스의 함수와 같은 이름, 매개변수, 반환형을 가져야 한다.

profile
코린이

0개의 댓글

관련 채용 정보