등록기자: 청년개발자신문기자단
기자
[기자에게 문의하기] /
자바에서 오버로딩과 오버라이딩은 객체 지향 프로그래밍에서 중요한 개념이다. 두 개념의 차이와 사용법을 코딩 예제로 설명한다.
오버로딩 (Overloading)
오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것으로, 메서드의 매개변수의 타입이나 개수가 다르면 가능하다. 이는 컴파일 시에 결정된다.

위 예제에서 add 메서드는 매개변수의 타입과 개수에 따라 여러 번 정의되었다. 이렇게 같은 이름의 메서드를 여러 개 정의하는 것이 오버로딩이다.
오버라이딩 (Overriding)
오버라이딩은 상속 관계에서 자식 클래스가 부모 클래스의 메서드를 재정의하는 것이다. 이는 런타임 시에 결정된다.

위 예제에서 Dog 클래스는 Animal 클래스의 sound 메서드를 오버라이딩하여 자신의 구현을 제공한다. 이렇게 부모 클래스의 메서드를 재정의하는 것이 오버라이딩이다.
- 오버로딩 (Overloading): 같은 이름의 메서드를 매개변수의 타입이나 개수를 다르게 하여 여러 개 정의. 컴파일 시에 결정.
- 오버라이딩 (Overriding): 상속 관계에서 자식 클래스가 부모 클래스의 메서드를 재정의. 런타임 시에 결정.
이 두 개념을 잘 이해하면 자바의 객체 지향 프로그래밍에서 유연하고 재사용 가능한 코드를 작성하는 데 도움이 된다.












