오버라이딩의 조건

  1. 접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할 수 잆다.
  2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다.
  3. 인스턴스메서드를 static 메서드 또는 그 반대로 변경할 수 없다.

super() 생성자

Object 클래스를 제외한 모든 클래스의 생성자 첫 줄에 생성자, this() 또는 super() 를 호출해야 한다. 그렇지 않으면 컴파일러가 자동적으로 'super();'를 생성자의 첫줄에 삽입한다.

⇒ extends 를 안 하면 Object 가 자동으로 상속되는 것 처럼, this() 를 첫 줄에 쓰더라도 결국에는 어느 생성자에서 super() 를 호출하게 돼있다.

Date 사용팁

Date today = new Date(); 로 현재 일자 생성,

SimpleDateFormat date = new SimpleDateFormat(”yyyy/mm/dd”) 와 같이 포맷 객체 생성 후

date.format(today); 로 포맷 하면 된다.

static import

import static java.lang.Integer.* 와 같이, 보통은 클래스까지만 import 할 수 있었으나 static멤버가 있다면 static 키워드를 붙여 그 멤버까지 import 할 수가 있다.

final 사용범위

클래스, 메서드, 멤버변수, 지역변수