오버로딩과 오버라이딩

park·2023년 4월 5일
0

오버로딩과 오버라이딩의 차이점

오버로딩(Overloading)과 오버라이딩(Overriding)은 객체 지향 프로그래밍에서 다형성을 구현하는 데 사용되는 두 가지 기술입니다. 그러나 이 두 가지 기술은 서로 다른 의미와 용도를 가지고 있습니다.

오버로딩(Overloading)

오버로딩은 하나의 클래스 내에서 메소드 이름은 같지만 매개변수의 개수나 타입, 순서가 다른 메소드를 여러 개 정의하는 것입니다. 오버로딩은 컴파일러가 메소드 호출 시 인자의 개수와 타입에 따라 적절한 메소드를 선택할 수 있도록 합니다. 오버로딩은 메소드의 기능은 같지만 인자의 개수나 타입이 다를 때 사용됩니다.

오버라이딩(Overriding)

오버라이딩은 상위 클래스에서 정의된 메소드를 하위 클래스에서 재정의하여 사용하는 것입니다. 즉, 하위 클래스에서 상위 클래스의 메소드를 덮어쓰기(override) 하는 것입니다. 오버라이딩을 사용하면 상위 클래스의 메소드를 하위 클래스에서 재정의하여 필요한 기능을 추가하거나 변경할 수 있습니다. 오버라이딩은 상속과 관련된 개념이며, 상위 클래스와 하위 클래스에서 메소드의 이름, 매개변수, 반환값 등이 같아야 합니다.

따라서, 오버로딩은 같은 이름의 메소드를 매개변수의 개수, 타입, 순서 등을 다르게하여 정의하는 것이고, 오버라이딩은 상위 클래스에서 정의된 메소드를 하위 클래스에서 재정의하여 사용하는 것입니다.

0개의 댓글