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์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ51)]

๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์‹ ์ค‘ํžˆ ์„ค๊ณ„ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ51)]
๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”

๋ฉ”์„œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ์‹ ์ค‘ํžˆ ์„ค๊ณ„ํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ51)]

2023. 12. 10. 19:17

  ์ด๋ฒˆ ๊ธ€์„ ํ†ตํ•ด API ์„ค๊ณ„ ์š”๋ น๋“ค์„ ์‚ดํŽด๋ณด์ž. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋ฐฐ์šฐ๊ธฐ ์‰ฝ๊ณ , ์“ฐ๊ธฐ ์‰ฌ์šฐ๋ฉฐ, ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์ด ์ ์€ API๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

๐Ÿ“™ 1. ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์‹ ์ค‘ํžˆ ์ง“์ž.

  ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์‹ ์ค‘ํžˆ ์ง“๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ๋„ˆ๋ฌด๋‚˜ ๋งŽ์ด ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ•œ๋ฒˆ ๋” ์ƒ๊ธฐ์‹œํ‚จ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€์ž.

  • ํ•ญ์ƒ ํ‘œ์ค€ ๋ช…๋ช… ๊ทœ์น™์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.
  • ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ™์€ ํŒจํ‚ค์ง€์— ์†ํ•œ ๋‹ค๋ฅธ ์ด๋ฆ„๋“ค๊ณผ ์ผ๊ด€๋˜๊ฒŒ ์ง“์ž.
  • ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋„๋ฆฌ ๋ฐ›์•„๋“ค์—ฌ์ง€๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ž.
  • ๊ธด ์ด๋ฆ„์„ ํ”ผํ•˜์ž.
  • ์• ๋งคํ•˜๋ฉด ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ API ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์ž.

 

๐Ÿ“™ 2. ํŽธ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ๋งŒ๋“ค์ง€ ๋ง์ž.

  ๋ฉ”์„œ๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ํด๋ž˜์Šค๋Š” ์ตํžˆ๊ณ , ์‚ฌ์šฉํ•˜๊ณ , ๋ฌธ์„œํ™”ํ•˜๊ณ , ํ…Œ์ŠคํŠธํ•˜๊ณ , ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž์‹ ์˜ ๊ฐ ๊ธฐ๋Šฅ์„ ์™„๋ฒฝํžˆ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋กœ ์ œ๊ณตํ•˜๋„๋ก ํ•˜์ž. ํ™•์‹ ์ด ์„œ์ง€ ์•Š์œผ๋ฉด ๋งŒ๋“ค์ง€ ๋ง์ž!

 

๐Ÿ“™ 3. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์€ ์งง๊ฒŒ ์œ ์ง€ํ•˜์ž.

  4๊ฐœ ์ดํ•˜๊ฐ€ ์ข‹๋‹ค. ํŠนํžˆ, ๊ฐ™์€ ํƒ€์ž…์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ์—ฐ๋‹ฌ์•„ ๋‚˜์˜ค๊ฒŒ ํ•˜์ง€ ๋ง์ž. ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆœ์„œ๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ํ•˜๊ณ , ์‹ค์ˆ˜๋กœ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ” ์ž…๋ ฅํ•ด๋„ ๊ทธ๋Œ€๋กœ ์ปดํŒŒ์ผ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  ๊ณผํ•˜๊ฒŒ ๊ธด ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ์งง๊ฒŒ ์ค„์—ฌ์ฃผ๋Š” ๊ธฐ์ˆ  3๊ฐ€์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋กœ ์ชผ๊ฐ ๋‹ค.
      ์ž˜๋ชปํ•˜๋ฉด ๋ฉ”์„œ๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ง๊ต์„ฑ(orthogonality, ๊ณตํ†ต์ ์ด ์—†๋Š” ๊ธฐ๋Šฅ๋“ค์ด ์ž˜ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๋Š” ๊ฒƒ)์„ ๋†’์—ฌ ์˜คํžˆ๋ ค ๋ฉ”์„œ๋“œ ์ˆ˜๋ฅผ ์ค„์—ฌ์ฃผ๋Š” ํšจ๊ณผ๋„ ์žˆ๋‹ค.
  2. ๋งค๊ฐœ๋ณ€์ˆ˜ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ฌถ์–ด์ฃผ๋Š” ๋„์šฐ๋ฏธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.
      ์นด๋“œ ํด๋ž˜์Šค์— ์ˆซ์ž(rank)์™€ ๋ฌด๋Šฌ(suit)๋ฅผ ๋œปํ•˜๋Š” ๋‘ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  3. ๊ฐ์ฒด ์ƒ์„ฑ์— ์‚ฌ์šฉํ•œ ๋นŒ๋” ํŒจํ„ด์„ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์— ์‘์šฉํ•œ๋‹ค.
      ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฐ’๋งŒ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.

 

๐Ÿ“™ 4. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์œผ๋กœ๋Š” ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋” ๋‚ซ๋‹ค.

  ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ ํ•ฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด (์ด๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ) ๊ทธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ž.

  ์˜ˆ๋ฅผ ๋“ค์–ด, HashMap์„ ๋„˜๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ Map์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด TreeMap, ConcurrentHashMap, TreeMap์˜ ๋ถ€๋ถ„๋งต ๋“ฑ ๋‹ค์–‘ํ•œ Map ๊ตฌํ˜„์ฒด๋ฅผ ์ธ์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“™ 5. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์œผ๋กœ๋Š” boolean๋ณด๋‹ค๋Š” ์›์†Œ 2๊ฐœ์งœ๋ฆฌ ์—ด๊ฑฐ ํƒ€์ž…์ด ๋‚ซ๋‹ค.

  ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๋” ์‰ฌ์›Œ์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ ํƒ์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋„ ์‰ฝ๋‹ค.

  ์˜จ๋„๊ณ„ ํด๋ž˜์Šค์˜ ์ •์  ํŒฉํ„ฐ๋ฆฌ ๋ฉ”์„œ๋“œ๊ฐ€ ์ธ์ˆ˜๋ฅผ ํ†ตํ•ด ์ ํ•ฉํ•œ ์˜จ๋„๊ณ„ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž.

// boolean์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
Thermometer.newInstance(true)

// ์—ด๊ฑฐ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
public enum TemperatureScale { FAHRENHEIT, CELSIUS }
Thermometer.newInstance(ThmperatureScale.CELSIUS)

  ์—ด๊ฑฐ ํƒ€์ž…์„ ์ด์šฉํ•˜๋ฉด ํ›จ์”ฌ ๋” ์˜๋ฏธ๊ฐ€ ๋ช…ํ™•ํ•ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜จ๋„ ํƒ€์ž…์œผ๋กœ ์บ˜๋นˆ์˜จ๋„(KELVIN)๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

  ๋ฌผ๋ก  ๋ฉ”์„œ๋“œ ์ด๋ฆ„์ƒ boolean์„ ๋ฐ›์•„์•ผ ์˜๋ฏธ๊ฐ€ ๋” ๋ช…ํ™•ํ•  ๋•Œ๋Š” ์˜ˆ์™ธ ์ƒํ™ฉ์ด๋‹ค.

 

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

 

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

๊ฐ€๋ณ€์ธ์ˆ˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ53)]  (0) 2023.12.11
๋‹ค์ค‘์ •์˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ52)]  (1) 2023.12.11
์ ์‹œ์— ๋ฐฉ์–ด์  ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ50)]  (0) 2023.12.10
๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์œ ํšจํ•œ์ง€ ๊ฒ€์‚ฌํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ49)]  (0) 2023.12.10
์ŠคํŠธ๋ฆผ ๋ณ‘๋ ฌํ™”๋Š” ์ฃผ์˜ํ•ด์„œ ์ ์šฉํ•˜๋ผ - [7์žฅ. ๋žŒ๋‹ค์™€ ์ŠคํŠธ๋ฆผ(์•„์ดํ…œ48)]  (0) 2023.12.10
  • ๐Ÿ“™ 1. ๋ฉ”์„œ๋“œ ์ด๋ฆ„์„ ์‹ ์ค‘ํžˆ ์ง“์ž.
  • ๐Ÿ“™ 2. ํŽธ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ๋งŒ๋“ค์ง€ ๋ง์ž.
  • ๐Ÿ“™ 3. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก์€ ์งง๊ฒŒ ์œ ์ง€ํ•˜์ž.
  • ๐Ÿ“™ 4. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์œผ๋กœ๋Š” ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋” ๋‚ซ๋‹ค.
  • ๐Ÿ“™ 5. ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์œผ๋กœ๋Š” boolean๋ณด๋‹ค๋Š” ์›์†Œ 2๊ฐœ์งœ๋ฆฌ ์—ด๊ฑฐ ํƒ€์ž…์ด ๋‚ซ๋‹ค.
'๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๊ฐ€๋ณ€์ธ์ˆ˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ53)]
  • ๋‹ค์ค‘์ •์˜๋Š” ์‹ ์ค‘ํžˆ ์‚ฌ์šฉํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ52)]
  • ์ ์‹œ์— ๋ฐฉ์–ด์  ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ50)]
  • ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์œ ํšจํ•œ์ง€ ๊ฒ€์‚ฌํ•˜๋ผ - [8์žฅ. ๋ฉ”์„œ๋“œ(์•„์ดํ…œ49)]
Amenable
Amenable
CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

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

๋‹จ์ถ•ํ‚ค

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

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

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

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

๋ชจ๋“  ์˜์—ญ

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

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