반응형
오버로딩(Overloading) vs 오버라이딩(Overriding)
오버로딩(Overloading)과 오버라이딩(Overriding)은 객체 지향 프로그래밍에서 중요한 개념이다.
오버로딩 (Overloading)
1. 정의
같은 이름의 메서드를 여러 개 정의하되, 매개변수의 타입이나 개수가 다르게 정의하는 것이다.
2. 목적
메서드 이름을 재사용하여 코드의 가독성을 높이고, 다양한 입력에 대해 같은 기능을 수행하도록 한다.
3. 예시
class MathUtil {
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
}
오버라이딩 (Overriding)
1. 정의
상위 클래스에서 정의된 메서드를 하위 클래스에서 재정의하는 것이다.
2. 목적
상위 클래스의 기능을 하위 클래스에 맞게 수정하거나 확장하기 위해 사용한다.
3. 예시
class Animal {
void sound() { System.out.println("Animal makes a sound"); }
}
class Dog extends Animal {
@Override
void sound() { System.out.println("Bark"); }
}
요약
1. 오버로딩: 같은 이름의 메서드가 매개변수의 타입이나 개수로 구분된다.
2. 오버라이딩: 상위 클래스의 메서드를 하위 클래스에서 재정의한다.
반응형
'소프트웨어 공학 용어 정리' 카테고리의 다른 글
다형성(Polymorphism) (0) | 2024.10.23 |
---|---|
UML에서 연관, 일반화, 의존 (0) | 2024.10.22 |
[SW 용어] Bit, Byte, Word 정리 (0) | 2024.05.29 |
[SW 용어] Mutex, Semaphore 정리 (0) | 2024.05.28 |
[SW 용어] 데이터 무결성, 정합성, 정확성, 완전성, 일관성, 유효성 (0) | 2024.05.27 |
댓글