단일 상속
- C++과 달리 자바는 단일 상속만 허용함(인터페이스를 활용)
Object 클래스
- 부모가 없는 클래스는 자동으로 Object 클래스를 상속받게 된다(
toString()
, equals(Object obj)
, hashCode()
등)
오버라이딩(overriding)
- 상속받은 조상의 메서드를 자신에 맞게 변경하는 것
오버라이딩의 조건
- 선언부가 조상 클래스의 메서드와 일치해야 한다(반환 타입, 메서드 이름, 파라미터 목록)
- 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다
- 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다
참조변수 super, 생성자 super()
참조변수 super
- 객체 자신을 가리키는 참조변수, 인스턴스 메서드(생성자) 내에서만 존재
- 조상의 멤버를 자신과 구별할 때 사용
생성자 super()
- 조상의 생성자를 호출할 때 사용
- 조상의 멤버는 조상의 생성자를 호출해서 초기화
생성자의 조건
생성자의 첫 줄에 반드시 생성자를 호출해야 한다
안하면 컴파일러가 생성자 첫 줄에 super();
를 삽입함
import문
import
- 클래스를 사용할 때 패키지 이름을 생략할 수 있다
- 컴파일러에게 클래스가 속한 패키지를 알려준다
- java.lang 패키지는 import 하지 않아도 기본적으로 사용할 수 있다
- import 문은 컴파일할 때 처리되므로 프로그램의 성능에 영향을 미치지 않는다
static import
- static 멤버를 사용할 때 클래스 이름을 생략할 수 있게 해준다
import static java.lang.System.out
System.out.println()
-> out.println()