โค๏ธ JAVA/Basic

[JAVA] this์™€ this()

Genie_. 2024. 10. 22. 21:05
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“š this,this()

1. this : ๊ฐ์ฒด ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜

this๋Š” ์ธ์Šคํ„ด์Šค ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜์ด๋‹ค.

๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๊ณ  static ๋ฉ”์†Œ๋“œ์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€๋ฆฌํ‚ฌ ๋•Œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด this.๋ฉค๋ฒ„๋ณ€์ˆ˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

Car(String c, String g, int d){ 
	color = c; 
	gearType = g; 
	door = d;
}

์ด ์ฝ”๋“œ๋ฅผ ๋ดค์„ ๋•Œ 'color = c;'๋Š” ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋œ ์ง€์—ญ๋ณ€์ˆ˜ c์˜ ๊ฐ’์„ ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ color์— ์ €์žฅํ•œ๋‹ค.

์ด ๋•Œ ๋ณ€์ˆ˜ color์™€ c๋Š” ์ด๋ฆ„๋งŒ์œผ๋กœ๋„ ์„œ๋กœ ๊ตฌ๋ณ„๋˜๋ฏ€๋กœ ์•„๋ฌด ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.

Car(String color, String geerType, int door){ 
	this.color = color; 
	this.gearType = gearType; 
	this.door = door;
}

ํ•˜์ง€๋งŒ, ์ด ์ฝ”๋“œ์—์„œ์ฒ˜๋Ÿผ ์ƒ์„ฑ์ž์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด color๋กœ ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ color์™€ ๊ฐ™์„ ๊ฒฝ์šฐ์—๋Š” ์ด๋ฆ„๋งŒ์œผ๋กœ๋Š” ๊ตฌ๋ณ„์ด ์•ˆ๋œ๋‹ค!

์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ, ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜ ์•ž์— 'this'๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 


2. this() : ์ƒ์„ฑ์ž์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž ํ˜ธ์ถœํ•˜๊ธฐ

์ƒ์„ฑ์ž ๊ฐ„์—๋„ ์„œ๋กœ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋Œ€์‹  ๋‘๊ฐ€์ง€์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

  • ์ƒ์„ฑ์ž์˜ ์ด๋ฆ„์œผ๋กœ ํด๋ž˜์Šค์ด๋ฆ„ ๋Œ€์‹  this๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํ•œ ์ƒ์„ฑ์ž์—์„œ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฒซ ์ค„์—์„œ๋งŒ ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

Car c = new Car();
c.color = "white";
c.gearType = "auto";
c.door = 4;

Car ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ์ƒ์„ฑ์ž Car()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ์— ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋“ค์„ ๋”ฐ๋กœ ์ดˆ๊ธฐํ™”ํ•ด์•ผํ•œ๋‹ค.

ํ•˜์ง€๋งŒ, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž Car(String color, String gearType, int door)๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋™์‹œ์— ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ์„ ๋•Œ์˜ ์ฝ”๋“œ(์•„๋ž˜ ์ฝ”๋“œ)๋ฅผ ๋ณด๋ฉด, ํ›จ์”ฌ ๋” ์ง๊ด€์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•˜๋‹ค.

Car c = new Car("white","auto",4);

์ด์ฒ˜๋Ÿผ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ํ›„์— ๋ณ„๋„๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋„๋ก ํ•˜์ž


3. ๊ฐ„๋‹จ ์ •๋ฆฌ

 

๊ฐ„๋‹จ ์ •๋ฆฌ(this, this())

this : ์ธ์Šคํ„ด์Šค ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๋ณ€์ˆ˜, ์ธ์Šคํ„ด์Šค์˜ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.
          ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ์— ์ง€์—ญ๋ณ€์ˆ˜๋กœ ์ˆจ๊ฒจ์ง„ ์ฑ„๋กœ ์กด์žฌํ•œ๋‹ค.

this(), this(๋งค๊ฐœ๋ณ€์ˆ˜) : ์ƒ์„ฑ์ž, ๊ฐ™์€ ํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€์ˆ˜0