๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JAVA

[JAVA] instanceof (๊ฐ์ฒด ํƒ€์ž… ํ™•์ธ)

T1) instanceof ์—ฐ์‚ฐ์ž

  • ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋‹คํ˜•์„ฑ์œผ๋กœ ์ธํ•ด ์‹ค์ œ๋กœ ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ๋งค๊ฐœ๊ฐ’์œผ๋กœ ํ™œ์šฉ๋˜๊ณ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ํ™•์ธํ•˜๊ณ ์žํ• ๋•Œ ํ™œ์šฉ
  • instanceof ์—ฐ์‚ฐ์ž์˜ ์ขŒํ•ญ์—๋Š” ๊ฐ์ฒด๊ฐ€ ์˜ค๊ณ  ์šฐํ•ญ์—๋Š” ํƒ€์ž…์ด ์˜จ๋‹ค. ํƒ€์ž…์ด ๊ฐ™์œผ๋ฉด true ์•„๋‹ˆ๋ฉด false
  • Java 12๋ถ€ํ„ฐ๋Š” instanceof์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ€ true์ผ ๊ฒฝ์šฐ, ์šฐ์ธก ํƒ€์ž… ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๊ฐ•์ œํƒ€์ž…๋ณ€ํ™˜์„ ํ•˜์ง€์•Š์•„๋„ ๋œ๋‹ค.
/*๊ธฐ๋ณธํ˜•ํƒœ*/
boolean result = ๊ฐ์ฒด instanceof ํƒ€์ž…;
// ์ž๋ฐ” 12 ์ด์ „ : ๊น…์ œ ํƒ€์ž… ๋ณ€ํ™˜ ํ•„์š”
public void method(Parent parent) {
	if(parent instanceof Child) {
    	Child child = (Child) parent;
    }
}

// ์ž๋ฐ” 12 ์ดํ›„ : ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜ ์—†์ด ๋ณ€์ˆ˜ ์‚ฌ์šฉ๊ฐ€๋Šฅ
public void method(Parent parent) {
	if(parent instanceof Child) {
    	//child ๋ณ€์ˆ˜ ์‚ฌ์šฉ
    }
}

 

 

 

 

 

 

์ถœ์ฒ˜:์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค(๊ต์œก ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์„œ)
https://search.shopping.naver.com/book/catalog/34238594620?cat_id=50010920&frm=PBOKMOD&query=%EC%9D%B4%EA%B2%83%EC%9D%B4%EC%9E%90%EB%B0%94%EB%8B%A4&NaPm=ct%3Dlocm18y8%7Cci%3D0e64b25f86693278b2d96906cbe4b981fe74c6d5%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3D95e00da716b01b77d749d200eae34c788eb63950