Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable
๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”

์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ - [8์žฅ. ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™(์•„์ดํ…œ57)]

์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ - [8์žฅ. ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™(์•„์ดํ…œ57)]
๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”

์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ผ - [8์žฅ. ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›์น™(์•„์ดํ…œ57)]

2023. 12. 12. 20:47

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

  ์ด๋ฒˆ ๊ธ€์„ ํ†ตํ•ด ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ•˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.

 

๐Ÿ“™ 1. ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์žฅ ์ฒ˜์Œ ์“ฐ์ผ ๋•Œ ์„ ์–ธํ•˜๋ผ.

  ์ง€์—ญ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ค„์ด๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฒ•์€ ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์žฅ ์ฒ˜์Œ ์“ฐ์ผ ๋•Œ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์„ ์–ธ์„ ๋ฏธ๋ฆฌ ํ•ด๋‘๋ฉด ์ฝ”๋“œ๊ฐ€ ์–ด์ˆ˜์„ ํ•ด์ ธ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.

 

๐Ÿ“™ 2. ์ง€์—ญ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜๋ผ.

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

 

๐Ÿ“™ 3. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ผ.

  ๋ฐ˜๋ณต๋ฌธ์€ ๋…ํŠนํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณ€์ˆ˜ ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•ด์ค€๋‹ค. ๋ฐ˜๋ณต ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ˜๋ณต๋ฌธ์ด ์ข…๋ฃŒ๋œ ๋’ค์—๋„ ์จ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์•„๋‹ˆ๋ผ๋ฉด while๋ฌธ๋ณด๋‹ค๋Š” for ๋ฌธ์„ ์“ฐ๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

  ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด while๋ฌธ์—์„œ ๋ฐœ์ƒํ•˜๋Š” '๋ณต์‚ฌํ•ด ๋ถ™์—ฌ๋„ฃ๊ธฐ ์˜ค๋ฅ˜'๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜๋Š” while๋ฌธ์—์„œ์˜ '๋ณต์‚ฌํ•ด ๋ถ™์—ฌ๋„ฃ๊ธฐ ์˜ค๋ฅ˜'๋‹ค.

Iterator<Element> i = c.iterator();
while(i.hasNext()) {
    doSomething(i.next());
}

...

Iterator<Element> i2 = c2.iterator();
while(i.hasNext()) { // ๋ฒ„๊ทธ!!
    doSomething(i2.next());
}

  ์ƒˆ๋กœ์šด ๋ฐ˜๋ณต ๋ณ€์ˆ˜ i2๋ฅผ ์ดˆ๊ธฐํ™”ํ–ˆ์ง€๋งŒ, ์‹ค์ˆ˜๋กœ ์ด์ „ while ๋ฌธ์—์„œ ์“ด i๋ฅผ ๋‹ค์‹œ ์“ด ๋ฌธ์ œ๋‹ค.

 

  for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฐ ์˜ค๋ฅ˜๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ปดํŒŒ์ผ ํƒ€์ž„์— ์žก์•„์ค€๋‹ค.

for(Iterator<Element> i = c.iterator(); i.hasNext();) {
    Element e = i.next();
    ...
}

...

// "i๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค"๋Š” ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋‚ธ๋‹ค.
for(Iterator<Element> i2 = c2.iterator(); i.hasNext();) {
    Element e2 = i2.next();
    ...
}

 

  ๋˜ํ•œ, ๋ณ€์ˆ˜ ์œ ํšจ ๋ฒ”์œ„๊ฐ€ for๋ฌธ ๋ฒ”์œ„์™€ ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋˜‘๊ฐ™์€ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์จ๋„ ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ด์ ์ด ์žˆ๋‹ค.

 

  ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ ๊ด€์šฉ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜๋ณต ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š” ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

for(int i = 0; n = expensiveComputation(); i < n; i++) {
    ...
}

  ์œ„์˜ ์ฝ”๋“œ์—์„œ์ฒ˜๋Ÿผ ๋ณ€์ˆ˜ i์˜ ํ•œ๊ณ„๊ฐ’์„ n์— ์ €์žฅํ•˜์—ฌ ๋ฐ˜๋ณต ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š” ๋น„์šฉ์„ ์—†์•ด๋‹ค.

 

๐Ÿ“™ 4. ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ํ•œ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•˜๋ผ.

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

 

 

ํ•ด๋‹น ๊ธ€์€ Joshua Bloch ๋‹˜์˜ 'Effective Java 3/E'๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

'๐Ÿ“‚ JAVA > ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ณต๊ฐœ๋œ API์š”์†Œ์—๋Š” ํ•ญ์ƒ ๋ฌธ์„œํ™” ์ฃผ์„์„ ์ž‘์„ฑํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ56)]  (0) 2023.12.12
์˜ต์…”๋„ ๋ฐ˜ํ™˜์€ ์‹ ์ค‘ํžˆ ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ55)]  (0) 2023.12.12
null์ด ์•„๋‹Œ, ๋นˆ ์ปฌ๋ ‰์…˜์ด๋‚˜ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ54)]  (0) 2023.12.11
๊ฐ€๋ณ€์ธ์ˆ˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ53)]  (0) 2023.12.11
๋‹ค์ค‘์ •์˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ52)]  (1) 2023.12.11
  • ๐Ÿ“™ 1. ์ง€์—ญ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์žฅ ์ฒ˜์Œ ์“ฐ์ผ ๋•Œ ์„ ์–ธํ•˜๋ผ.
  • ๐Ÿ“™ 2. ์ง€์—ญ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•˜๋ผ.
  • ๐Ÿ“™ 3. ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ผ.
  • ๐Ÿ“™ 4. ๋ฉ”์„œ๋“œ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ํ•œ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์— ์ง‘์ค‘ํ•˜๋ผ.
'๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๊ณต๊ฐœ๋œ API์š”์†Œ์—๋Š” ํ•ญ์ƒ ๋ฌธ์„œํ™” ์ฃผ์„์„ ์ž‘์„ฑํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ56)]
  • ์˜ต์…”๋„ ๋ฐ˜ํ™˜์€ ์‹ ์ค‘ํžˆ ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ55)]
  • null์ด ์•„๋‹Œ, ๋นˆ ์ปฌ๋ ‰์…˜์ด๋‚˜ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ54)]
  • ๊ฐ€๋ณ€์ธ์ˆ˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ53)]
Amenable
Amenable
CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.