Java - 몇 가지 메서드(3)

김형석·2025년 1월 13일

LG CNS AM Inspire Camp

목록 보기
10/18

1. 상속의 키워드와 메서드

1-1. 객체 - this & this()

  • this 키워드는 객체 자신를 가리키는 것으로, 객체 선언 시 초기화한 값 등을 사용한다.
  • this() 메서드는 자신의 생성자를 가리키는 것으로, 새로운 생성자를 만들 때 기존 생성자를 가져온다는 의미이다.

1-2. 상속 - super & super()

1-2-1. super

  • super 키워드를 이용해서 부모 클래스의 객체를 가리킨다.
  • 부모 클래스의 필드나 메서드를 호출하기 위해 사용한다.
  • 부모 클래스와 자식 클래스에서 중복되는 내용을 간소화할 수 있다.

1-2-2. super()

  • super() 메서드를 이용해서 부모 클래스의 생성자를 호출한다.
  • 생성자 내부에서만 사용할 수 있고, 반드시 첫 줄에 위치해야 한다.

1-2-3. 특징

  • 상속 관계에서만 사용할 수 있다.
  • super을 사용해도 캐스팅이 필요할 수 있다.
  • 생성자의 첫 줄에는 반드시 this()나 super() 중 하나가 있어야 한다.
    • 두 메서드 모두 생성자의 첫 줄에서 사용되므로 중복 사용이 불가능하다.
    • 두 메서드 모두 없는 경우에는 컴파일러가 자동으로 super()을 추가한다.

2. 하위 호환을 위한 메서드

2-1. default 메서드

  • 인터페이스가 이미 상속되어서 사용중일 때 default 메서드를 사용해서 기존 코드의 변화를 주지 않으면서 새 메서드를 추가할 수 있다.
  • 새 메서드가 추가되더라도 기존에 구현된 클래스에서는 메서드를 추가할 필요가 없다.
  • 새롭게 추가하는 메서드에 default 키워드를 붙여서 구현한다.

2-2. static 메서드

  • 정적 메서드라고 하며, 클래스 내부의 정적 메서드와 동일하다./
  • 인터페이스명.정적메서드명() 방식으로 호출한다.
  • 새롭게 추가된 인터페이스의 기능을 해당 기능을 사용하고 싶은 객체를 수정하지 않고 사용할 수 있다.

2-3. 공통점

  • Java 8에 도입된 요소이다.
  • 하위호환성을 보장하며 코드 수정을 최소화할 수 있다.
    • 새로운 메서드가 추가되어도 구현이 불필요하다.
  • 인터페이스에 작성됨에도 구현 내용을 요구한다.

0개의 댓글