본문 바로가기
Computer Science

[CS] Overriding / Overloading

by jyc_ 2025. 1. 20.

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