이롭게 현명하게

[JAVA] 자바 인스턴스 멤버와 this 본문

JAVA

[JAVA] 자바 인스턴스 멤버와 this

dev_y.h 2023. 4. 19. 18:54
728x90
반응형

<정리>

this : 객체 자신에 대한 레퍼런스


인스턴스(instance) 멤버 : 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드를 말한다.

인스턴스 필드, 인스턴스 메소드라고 부른다.

인스턴스 필드와 메소드는 객체에 소속된 멤버이기 때문에 객체 없이는 사용할 수 없다.

 

// Car.java

public class Car {
	// 필드
	int gas;
	
	// 메소드
	void setSpeed(int speed) {
		
	}
}

 

// Main.java

public class Main {

	public static void main(String[] args) {
		Car mycar = new Car();
		mycar.gas = 10;
		mycar.setSpeed(60);
		
		Car yourcar = new Car();
		yourcar.gas = 20;
		yourcar.setSpeed(80);
		
	}

}

인스턴스 필드는 객체마다 따로 존재하고, 인스턴스 메소드 setSpeed()는 객체마다 존재하지 않고 메소드 영역에 저장되고 공유한다.

 

 

 

객체 외부에서 인스턴스 멤버에 접근하기 위해 참조 변수를 사용하는 것과 마찬가지로 객체 내부에서도 인스턴스 멤버에 접근하기 위해 this를 사용할 수 있다.

자신을 " 나 " 라고 하듯이 객체에서 자신은 "this"라고 한다.

// Car.java

public class Car {
	// 필드
	int gas;
	int speed;
	String model;
	public Car(String model) {
		this.model = model;
	}
	void setModel(String model) {
		this.model = model;
	}
	
	// 메소드
	void setSpeed(int speed) {
		this.speed = speed;
	}
	
	void run() {
		for(int i = 10;i<=50;i++) {
			this.setSpeed(i);
			System.out.println(this.model+"가 달립니다.(시속:"+this.speed+"km/h");
		}
	}
}
// Main.java

public class Main {

	public static void main(String[] args) {
		Car mycar = new Car("포르쉐");
		Car yourcar = new Car("벤츠");
		
		mycar.run();
		yourcar.run();
		
	}

}

 

 

 

 

 

[JAVA] 자바 정적 멤버와 static

목차 정적 멤버 선언 정적 초기화 블록 정적 메소드와 블록 선언 시 주의할 점 싱글톤 [non-static 멤버(인스턴스 멤버)] 공간적 특성 : 멤버들은 객체마다 독립적으로 별도 존재 시간적 특성 : 필드

devyihyun.tistory.com


잘못된 정보는 댓글에 남겨주시면 감사하겠습니다!😊

댓글과 좋아요는 큰 힘이 됩니다!

 

더보기

[ 참고자료 ]

 

 

 

 

728x90
반응형

'JAVA' 카테고리의 다른 글

[JAVA] 자바 final 필드와 상수  (0) 2023.04.21
[JAVA] 자바 정적 멤버와 static  (0) 2023.04.20
[JAVA] 자바 클래스 메소드  (0) 2023.04.18
[JAVA] 자바 클래스 생성  (0) 2023.04.14
[JAVA] 자바 클래스 필드  (0) 2023.04.13
Comments