Item 67. Optimization

์ตœ์ ํ™”๋Š” ์‹ ์ค‘ํžˆ ํ•˜๋ผ

ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ๋•Œ๋Š” ๋น ๋ฅด๊ณ  ์ข‹์€ ์„ฑ๋Šฅ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฒฌ๊ณ ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„ ๋ช…ํ™•ํ•œ ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค. ๋งŒ์•ฝ ์ข‹์€ ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด ์ข‹์€๊ฒŒ ๋ณดํ†ต์ด๊ณ , ์„ฑ๋Šฅ์ด ๋‚˜์˜ค์ง€ ์•Š๋”๋ผ๋„ ์•„ํ‚คํ…์ฒ˜ ์ž์ฒด๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ ๋„ ๋…๋ฆฝ์ ์œผ๋กœ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋งŒ์•ฝ ์ตœ์ ํ™”๋ฅผ ํ•ด์•ผํ•œ๋‹ค๋ฉด ์ตœ์ ํ™” ์‹œ๋„ ์ „ํ›„๋กœ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•˜์—ฌ ์ ์šฉ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

API๋ฅผ ์„ค๊ณ„๊ฐ€ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

public ํƒ€์ž…์„ ๊ฐ€๋ณ€์œผ๋กœ ๋งŒ๋“ค๋ฉด(๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ) ๋ถˆํ•„์š”ํ•œ ๋ฐฉ์–ด์  ๋ณต์‚ฌ๋ฅผ ์œ ๋ฐœํ•˜๊ฒŒ ๋˜์–ด ์„ฑ๋Šฅ ๋ฌธ์ œ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด java.awt.Component์˜ getSize ๋ฉ”์„œ๋“œ๋Š” ๊ฐ€๋ณ€ ํƒ€์ž…์ธ Dimension์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฉ์–ด์  ๋ณต์‚ฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค. ๋•Œ๋ฌธ์— getSize๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ด์„œ ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ๋” ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค๊ณ„ํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค..

  • Dimension์„ ๋ถˆ๋ณ€ ํƒ€์ž…์œผ๋กœ ๋งŒ๋“ ๋‹ค.(๊ฐ€์žฅ ์ด์ƒ์ ์ธ ๋ฐฉ๋ฒ•)

  • getSize๋ฅผ getWidth์™€ getHeight๋กœ ๋‚˜๋ˆ„์–ด Dimension ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ’๋“ค์„ ๋”ฐ๋กœ๋”ฐ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

Last updated