Overriding
- 부모 클래스의 메서드를 자식 클래스에서 재정의하는 방식
- 메서드 이름, 매개변수, 리턴 타입이 부모 메서드와 동일해야 한다.
- @Override 어노테이션을 이용해 오버라이딩 여부를 명확히 표시 가능
- 런타임에 호출될 메서드가 결정된다.
- 오버라이딩을 통해 다형성을 구현할 수 있다.
class Parent {
public void display() {
System.out.println("Parent Mehtod");
}
}
class Child extends Parent {
@Override
public void display() {
System.out.println("Child Method");
}
}
Overloading
- 같은 이름의 메서드를 여러 개 정의하는 방식
- 같은 이름의 메서드지만, 매개변수의 개수, 타입, 순서 등을 변경할 수 있다.
- 컴파일할 때 결정된다.
- 편리성과 가독성을 위해 사용된다.
class sum {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
Conclusion
오버로딩은 같은 클래스 내에서 메서드의 이름을 재사용하여 메서드의 기능을 확장하는 데 쓰이며,
오버라이딩은 상속받은 메서드를 재정의하여 자식 클래스에서 다른 동작을 구현하는 데 쓰인다.
'Computer Science' 카테고리의 다른 글
[CS] IoC / DI (제어 역전과 의존성 주입) (0) | 2025.01.20 |
---|---|
[CS] MVC Pattern (0) | 2025.01.20 |
[CS] RDBMS / NoSQL (0) | 2025.01.14 |
[CS] Query String / Path Variable (0) | 2025.01.13 |
[CS] 서버 개발을 위한 기초 지식 (0) | 2025.01.13 |