반응형
"Overloading"과 "Overriding"은 객체지향 프로그래밍에서 사용되는 두 가지 다른 개념입니다.
Overloading (오버로딩)
- Overloading은 같은 메서드 이름을 가진 여러 메서드들이 서로 다른 매개변수를 가지는 것을 말합니다.
- 메서드의 이름은 같지만, 매개변수의 개수, 타입, 또는 순서가 다를 수 있습니다.
- Overloading은 컴파일 시간에 결정되며, 컴파일러는 어떤 메서드를 호출할지 정적으로 결정합니다.
public class Example {
public void printMessage(String message) {
System.out.println(message);
}
public void printMessage(int number) {
System.out.println(number);
}
}
Overriding (오버라이딩)
- Overriding은 상위 클래스(부모 클래스)의 메서드를 하위 클래스(자식 클래스)에서 재정의하는 것을 말합니다.
- 메서드의 시그니처(이름, 매개변수 타입 및 개수, 반환 타입)가 일치해야 합니다.
- Overriding은 런타임 시간에 결정되며, 객체의 실제 타입에 따라 호출될 메서드가 동적으로 결정됩니다.
public class Animal {
public void makeSound() {
System.out.println("Some generic sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Bark");
}
}
위의 예시에서 Dog 클래스는 Animal 클래스의 makeSound 메서드를 재정의(Overriding)했습니다.
차이 요약
- Overloading은 같은 메서드 이름을 가진 여러 메서드로, 매개변수가 다르다.
- Overriding은 상위 클래스의 메서드를 하위 클래스에서 재정의하며, 메서드 시그니처가 일치해야 한다.
- Overloading은 컴파일 시간에 결정되고, Overriding은 런타임 시간에 결정된다.
반응형
'개발 > 신입개발자 기술면접' 카테고리의 다른 글
[신입개발자 기술면접] 트랜잭션(transaction)이란? (0) | 2024.02.07 |
---|---|
[신입개발자 기술면접] Interface 와 Abstract 공통/차이점 (1) | 2024.02.07 |
[신입개발자 기술 면접] Primary Key 와 Unique Key의 차이점 (0) | 2024.01.19 |
[신입개발자 기술면접] REST 설명 (0) | 2024.01.16 |
[신입개발자 기술면접] Cookie와 Session의 공통점, 차이점 (0) | 2024.01.12 |