1. 인스턴스 멤버
- 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 합니다.
- 인스턴스 멤버란 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드
예시
public class Computer {
// 필드
long serialNumber;
// 메소드
public long getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(long serialNumber) {
this.serialNumber = serialNumber;
}
}
// 인스턴스 생성
Computer computer = new Computer();
// 인스턴스 필드
long serialNumber = computer.serialNumber;
// 인스턴스 메소드
computer.setSerialNumber(12345);
serialNumber = computer.getSerialNumber();
2. 인스턴스 메모리 할당
같은 1개의 클래스의 인스턴스를 N개 생성할 경우 메모리에
인스턴스 필드는 객체마다 따로 존재(힙 영역)하고
인스턴스 메소드는 객체마다 존재하지 않고 메소드 영역에 저장되고 공유됩니다.
// 인스턴스 생성
Computer computer1 = new Computer();
Computer computer2 = new Computer();
// 인스턴스 필드
long serialNumber1 = computer1.serialNumber;
long serialNumber2 = computer2.serialNumber;
// 인스턴스 메소드
computer1.setSerialNumber(12345);
computer2.setSerialNumber(54321);
3. this
- this를 이용하여 객체는 자신의 인스턴스 멤버에 접근할 수 있습니다.
- this는 주로 생성자와 메소드의 매개 변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용됩니다.
- 매개 변수 이름을 필드 이름과 동일하게 하는 것이 관례입니다.
public class Computer {
// 필드
long serialNumber;
// 생성자
public Computer(long serialNumber) {
this.serialNumber = serialNumber;
}
// 메소드
public long getSerialNumber() {
return serialNumber;
}
public void setSerialNumber(long serialNumber) {
this.serialNumber = serialNumber;
}
}
'Backend > 객체 지향 프로그래밍' 카테고리의 다른 글
[Java] 단 하나의 객체만 생성 (싱글톤 패턴, Singleton pattern) (0) | 2022.04.10 |
---|---|
[Java] 정적 멤버 (0) | 2022.04.09 |
[Java] 클래스의 구성 멤버 (메소드) (0) | 2022.04.07 |
[Java] 클래스의 구성 멤버 (생성자) (0) | 2022.04.06 |
[Java] 클래스의 구성 멤버 (필드) (0) | 2022.04.05 |