Java

[Effective Java] ์•„์ดํ…œ 74. ๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋ผ.

quedevel 2023. 4. 4. 09:29
728x90
๋ฐ˜์‘ํ˜•

๐ŸŽฏ ์•„์ดํ…œ 74. ๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ๋ชจ๋“  ์˜ˆ์™ธ๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋ผ.

๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ์˜ˆ์™ธ๋Š” ๊ทธ ๋ฉ”์„œ๋“œ๋ฅผ ์˜ฌ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์•„์ฃผ ์ค‘์š”ํ•œ ์ •๋ณด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ ๋ฉ”์„œ๋“œ๊ฐ€ ๋˜์ง€๋Š” ์˜ˆ์™ธ ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋ฐ ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์„ ์Ÿ์•„์•ผ ํ•œ๋‹ค. ๊ฒ€์‚ฌ ์˜ˆ์™ธ๋Š” ํ•ญ์ƒ ๋”ฐ๋กœ๋”ฐ๋กœ ์„ ์–ธํ•˜๊ณ , ๊ฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์„ ์ž๋ฐ”๋…์˜ @throws ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •ํ™•ํžˆ ๋ฌธ์„œํ™”ํ•˜์ž.

/**
 * ... ์ƒ๋žต
 *
 * @throws  SecurityException if a security manager exists and its
 *          <code>checkPermission</code> method denies enabling
 *          subclassing.
 * @throws  IOException if an I/O error occurs while creating this stream
 *
 */
protected ObjectInputStream() throws IOException, SecurityException { ... }

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

์ฐธ๊ณ  ์ž๋ฃŒ

Joshua Bloch, ใ€ŽEffective Java 3/Eใ€, ๊ฐœ์•ž๋งต์‹œ ์˜ฎ๊น€, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ธ์‚ฌ์ดํŠธ(2018)
http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788966262281&orderClick=LEa&Kc=

728x90
๋ฐ˜์‘ํ˜•