Java

Java 정리 - 3 (overloading, overriding)

cheesecrust1008 2025. 2. 4. 14:43

메서드 오버로딩

동일한 기능을 수행하는 메서드를 추가로 작성, 이름만 같고 파라미터를 다르게 한다.

최종적인 목표는 코드의 중복을 제거하는 것이다.

예시로는 여러 생성자가 여러개 일 경우에 다른 생성자들에서 가장 범위가 큰 생성자를 호출하여 코드의 중복을 제거하는 경우가 있다.

메서드 오버라이딩

오버라이딩의 조건

  • 메서드 시그니처가 같아야한다.
  • 접근 제한자는 부모 보다 범위가 넓거나 같아야한다.
  • 조상보다 더 큰 예외를 던질 수 없다.

오버라이딩 메서드에서 조상과의 코드 중복을 방지하기 위해서 super 키워드를 활용한다.

명시적으로 this() 또는 super()가 없는 경우 컴파일러가 삽입

따라서 디폴트 생성자가 없는 경우에는 내가 만든 파라미터 생성자를 잊지 말고 호출하도록 주의한다.

this, super

추가로 thissuper 를 정의해 보자

this: 키워드가 작성된 클래스를 가리키는 키워드이다.
super: 키워드가 작성된 클래스의 부모를 가리키는 키워드이다.

'Java' 카테고리의 다른 글

Java 정리 - 5 (상속과 구현)  (1) 2025.02.04
Java 정리 - 4 (접근 제한자)  (0) 2025.02.04
Java 정리 - 2 (hashCode 와 equals)  (0) 2025.02.04