본문 바로가기
CS/JAVA

오버로딩(Overloading)과 오버라이딩(Overriding)

by upswp 2021. 3. 7.

오버라이딩(overriding) : 부모 클래스의 메소드의 동작 방법을 변경(재정의)하여 우선적으로 사용.

 

오버로딩(overloading) : 이름은 같지만 시그니처(파라미터, 수, 타입)되는 다른 메소드를 중복으로 선언하는 것.

 


1. 오버라이딩(overriding)

  • 오버라이드 하고자 하는 메서드가 상위클래스에 존재해야 한다.
  • 메서드 이름이 같아야한다.
  • 메서드 파라미터의 갯수, 자료형이 모두 같아야한다.
  • 메서드 리턴타입이 같아야 한다.
  • 상위 메서드와 동일하거나 내용이 추가(재정의)되어야 한다.

2. 오버로딩(overloading)

  • 메소드 이름이 같아야 한다.
  • 리턴타입이 같거나 달라도 된다.
    • 리턴타입은 시그니처에 포함되지 않기때문에 주의, 컴파일 에러 발생
  • 파라미터 갯수가 달라야한다.
  • 파라미터 개수가 같을 경우, 데이터 타입이 달라야한다.