728x90

Override (재정의):
1. 상속:
- **override**는 주로 상속과 관련이 있습니다. 한 클래스(자식 클래스)가 다른 클래스(부모 클래스)의 기능을 확장하고 변경할 때 사용됩니다.
2. 메서드 재정의:
- 부모 클래스에서 정의된 메서드를 자식 클래스에서 동일한 시그니처로 다시 정의합니다.
- 자식 클래스에서 재정의된 메서드는 부모 클래스의 메서드를 대체하며, 이를 통해 다형성을 구현할 수 있습니다.
- @Override 어노테이션을 사용하여 메서드가 정확하게 부모 클래스의 메서드를 재정의하는지 컴파일러에게 알립니다.
예시:
javaCopy code
class Animal {
void makeSound() {
System.out.println("Some generic sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark bark!");
}
}
Overload (중복 정의):
1. 동일한 메서드 이름:
- **overload**는 같은 클래스 내에서 메서드 이름은 같지만 매개변수의 타입, 순서, 개수 중 하나 이상이 다른 여러 메서드를 정의하는 것입니다.
2. 다양한 매개변수:
- 메서드 오버로딩을 통해 같은 이름의 메서드가 다양한 상황에서 사용될 수 있습니다.
예시:
javaCopy code
class Calculator {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
위의 예제에서 add 메서드가 두 번 정의되었습니다. 하나는 정수를 매개변수로 받고, 다른 하나는 실수를 매개변수로 받습니다. 이렇게 하면 동일한 메서드 이름을 사용하면서 다양한 타입의 데이터에 대한 연산을 수행할 수 있습니다.
차이점 요약:
- Override: 부모 클래스의 메서드를 자식 클래스에서 다시 정의하여 기능을 변경하거나 확장하는 것.
- Overload: 같은 클래스 내에서 메서드 이름은 같지만 매개변수의 타입, 순서, 개수 중 하나 이상이 다른 여러 메서드를 정의하는 것.
728x90
'Language > Java' 카테고리의 다른 글
[JAVA] 자바 JDK 설치 - JavaSE 환경 구축하기 (0) | 2023.03.08 |
---|---|
[JAVA] JAVA 입문 (1) - JAVA 언어의 특징 (0) | 2023.01.18 |
댓글