클래스와 객체 2

JH·2022년 11월 20일
0

2022-Java-Study

목록 보기
6/10

this

자신의 주소를 반환한다. 생성자에서 다른 생성자를 호출한다.

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 자료형 변수명;

static 변수는 인스턴스를 new로 생성할 때 메모리를 가는 것이 아니라
프로그램이 메모리에 적재될 때 데이터 영역의 메모리에 생성된다.

그래서 클래스 이름으로 참조할 수 있고 클래스 변수라고도 한다.

static 응용

singleton pattern: 전 시스템에 단 하나의 인스턴스만 존재하도록 구현하는 방식

profile
매일 한 문제씩 풀기

0개의 댓글