Java

[Effective Java] ์•„์ดํ…œ 57. ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ.

quedevel 2023. 3. 26. 01:02
728x90
๋ฐ˜์‘ํ˜•

๐ŸŽฏ ์•„์ดํ…œ 57. ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ.

์ง€์—ญ๋ณ€์ˆ˜์˜ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œ๋กœ ์ค„์ด๋ฉด ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋†’์•„์ง€๊ณ  ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ์•„์ง„๋‹ค.


โญ ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ค„์ด๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฒ•

1๏ธโƒฃ ๊ฐ€์žฅ ์ฒ˜์Œ ์“ฐ์ผ ๋•Œ ์„ ์–ธํ•˜๊ธฐ

public class Main {
    public static void main(String[] args) {
        int scope = 0;

        /* main๋ฉ”์„œ๋“œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ scope๋ณ€์ˆ˜๋Š” ์‚ด์•„์žˆ๋‹ค. */
    }
}

๋ณ€์ˆ˜๋ฅผ ํ•ญ์ƒ ์ตœ์ƒ๋‹จ์— ์„ ์–ธํ•˜๋Š” ๋ฒ„๋ฆ‡์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฑด ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ๋ฉ”์†Œ๋“œ์˜ ๋ชจ๋“  ๋ฒ”์œ„์— ์†ํ•˜๊ฒŒ ํ•˜๋ฉฐ ๊ฐ€๋…์„ฑ๋งˆ์ € ๋–จ์–ด์ง€๊ฒŒ ๋งŒ๋“œ๋Š” ํ–‰์œ„๋‹ค.

2๏ธโƒฃ ๊ฑฐ์˜ ๋ชจ๋“  ์ง€์—ญ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•œ๋‹ค.

์ดˆ๊ธฐํ™”ํ•  ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์ •๋ณด๊ฐ€ ์ถฉ๋ถ„ํ•ด์งˆ๋•Œ๊นŒ์ง€ ์„ ์–ธ์„ ๋ฏธ๋ฃจ์ž. ํ•˜์ง€๋งŒ try-catch๋ฌธ์˜ ๊ฒฝ์šฐ ์ดˆ๊ธฐํ™”์‹œ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ๋Š” ๋ธ”๋ก ์•ˆ์—์„œ ์ดˆ๊ธฐํ™” ํ•˜์ž

/**
 * ์ฝ”๋“œ children ์กฐํšŒ
 * @param supiCdId
 * @return
 */
public static List<CodeVO> getCodeChildren(String supiCdId) throws Exception {
    List<CodeVO> result = new ArrayList<>();
    CodeService codeService = null;
    try {
        codeService = (CodeService) ApplicationContextProvider.getContext().getBean("codeService");
        result = codeService.getCodeChildren(supiCdId);
        return result;
    } catch (Exception e){
        return result;
   }
}

3๏ธโƒฃ ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ํ•œ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


์ฐธ๊ณ  ์ž๋ฃŒ

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
๋ฐ˜์‘ํ˜•