๐™น๐šŠ๐šŸ๐šŠ

[JAVA] instanceof ์—ฐ์‚ฐ์ž

ํ•ด๋ฒ„๋‹ˆ 2024. 11. 26. 19:08
๋ฐ˜์‘ํ˜•

๋‚จ๊ถ์„ฑ ์ €์ž์˜ ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ch7์„ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค!

 

https://youtu.be/YvCgrZQU4EM?si=nd3kNAonv4s_ritC

 

 

 

instanceof ์—ฐ์‚ฐ์ž๋Š” ํ˜•๋ณ€ํ™˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌ

์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํ˜•๋ณ€ํ™˜์€ ์กฐ์ƒ๊ณผ ์ž์†๋ผ๋ฆฌ๋งŒ ๋œ๋‹ค.

 

 

 

ํ˜•๋ณ€ํ™˜ํ•˜๋Š” ์ˆœ์„œ

โ‘  ํ˜•๋ณ€ํ™˜ํ•ด๋„ ๋˜๋Š”์ง€ ๋ฐ˜๋“œ์‹œ ํ™•์ธ

โ‘ก ํ˜•๋ณ€ํ™˜

 

 

 

 

void doWork(Car c) {
	if (c instanceof FireEngine) {
		FireEngine fe = (FireEngine)c;
	}
}
FireEngine fe = new FireEngine();
System.out.println(fe instanceof Object);     // true
System.out.println(fe instanceof Car);        // true
System.out.println(fe instanceof FireEngine); // true

 

๋ชจ๋“  ์กฐ์ƒ๋“ค๊ณผ ์ž๊ธฐ ์ž์‹ ์— ๋Œ€ํ•ด์„œ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค

 

 

 

 

 

Q. ์ฐธ์กฐ๋ณ€์ˆ˜์˜ ํ˜•๋ณ€ํ™˜์€ ์™œ ํ•˜๋‚˜์š”?

A. ์ฐธ์กฐ๋ณ€์ˆ˜(๋ฆฌ๋ชจ์ปจ)์„ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉค๋ฒ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•ด์„œ

(์˜ˆ๋ฅผ๋“ค์–ด Car์—๋Š” ์—†๋Š” FireEngine์—๋งŒ ์žˆ๋Š” water()๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๊ฑฐ๋‚˜, ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๊ณ  ์‹ถ์„ ๋•Œ)

์ฐธ์กฐ์ฃผ์†Œ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๊ณ , ์ฐธ์กฐ์ฃผ์†Œ ์•ž์—์žˆ๋Š” f ↔ c ๋งŒ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

Q. instanceof์—ฐ์‚ฐ์ž๋Š” ์–ธ์ œ ์‚ฌ์šฉํ•˜๋‚˜์š”?

A. ์ฐธ์กฐ๋ณ€์ˆ˜๋ฅผ ํ˜•๋ณ€ํ™˜ ํ•˜๊ธฐ ์ „์— ํ˜•๋ณ€ํ™˜ ๊ฐ€๋Šฅ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ๋•Œ

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•