안녕하세요 알통몬입니다. 공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
=>객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메서드
각각 인스턴스 필드, 인스턴스 메서드라고 부릅니다.
지금까지 포스팅했던 모든 필드와 메서드는 인스턴스 멤버들이었습니다.
객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없습니다.
Car 클래스의 gas 필드와 setSpeed() 메서드가 아래와 같이 선언되어 있다고 해보면
public class Car {
int gas;
void setSpeed(int speed){
.........
}
}
gas 필드와 setSpeed()메서드는 인스턴 멤버이기 때문에
외부 클래스에서 사용하기 위해서는 먼저 Car 객체(인스턴스)를 생성하고
참조 변수는 myCar 또는 yourCar처럼 접근해야 합니다.
Car myCar = new Car();
myCar.gas = 10;
myCar.setSpeed(60);
or
Car yourCar = new Car();
yourCar.gas = 20;
yourCar.setSpeed(70);
위 코드가 실행된 후 메모리 상태는 인스턴스 필드 gas는 객체 마다 따로 존재하고,
인스턴스 메서드 setSpeed()는 객체마다 존재하지 않고 메서드 영역에 저장되고 공유됩니다.
객체 외부에서 인스턴스 멤버에 접근하려면 =>
참조 변수를 사용하는 것처럼 객체 내부에서도 인스턴스 멤버에 접근하기 위해 this를 사용할 수 있습니다.
this.model이라고 하면 자신이 가지고 있는 model 필드라는 뜻입니다.
'자바' 카테고리의 다른 글
JAVA 자바 정적 멤버와 static - 정적 메서드와 블록 선언 시 주의할점, 싱글톤 (0) | 2017.03.12 |
---|---|
JAVA 자바 정적 멤버와 static - 정적 멤버 선언, 정적 멤버 사용, 정적 초기화 블록 (0) | 2017.03.12 |
JAVA 자바 메서드 - 자바 메서드 오버로딩 (0) | 2017.03.12 |
JAVA 자바 메서드 - 메서드 호출,객체 내부에서 호출, 객체 외부에서 호출 (2) | 2017.03.12 |
JAVA 자바 메서드 - 리턴문 , 리턴값이 있는 메서드, 리턴값이 없는 메서드 (0) | 2017.03.12 |