자신의 주소를 반환한다. 생성자에서 다른 생성자를 호출한다.
this.year
는 int로 선언한 year.
할당한 year
는 매개변수 year.
int year;
public void setYear(int year) {
this.year = year;
}
this는 어떤 인스턴스인지에 따라 다른 주소가 된다.
Birthday b1 = new Birthday();
Birthday b2 = new Birthday();
System.out.println(b1);
//b1을 System.out.println(this); 호출할 때 메모리 주소가 같음
this로 생성자에서 다른 생성자를 호출할 수 있다.
버스의 객체를 받아서 버스객체의 메서드를 호출하고 버스객체에 영향을 주는 것
// 학생 클래스
public void takeBus(Bus bus) {
bus.take(1000);
money -= 1000;
}
여러 개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용한다.
static 자료형 변수명;
static 변수는 인스턴스를 new로 생성할 때 메모리를 가는 것이 아니라
프로그램이 메모리에 적재될 때 데이터 영역의 메모리에 생성된다.
그래서 클래스 이름으로 참조할 수 있고 클래스 변수라고도 한다.
singleton pattern: 전 시스템에 단 하나의 인스턴스만 존재하도록 구현하는 방식