Skip to content

Latest commit

ย 

History

History
397 lines (257 loc) ยท 14.3 KB

File metadata and controls

397 lines (257 loc) ยท 14.3 KB

๋‹จ์ถ•ํ‚ค

Ctrl + Alt + N

  • Inline Variable: ๋ณ€์ˆ˜ ์ถ”์ถœ ์—†์ด ํ‘œํ˜„์‹์„ ์ง์ ‘ ์‚ฝ์ž…ํ•˜๋Š” ๋ฆฌํŒฉํ† ๋ง

Object ํด๋ž˜์Šค

๊ธฐ๋ณธ ๊ฐœ๋…

  • ์ž๋ฐ”์—์„œ ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค๋Š” ํ•ญ์ƒ Object ํด๋ž˜์Šค
  • ๋ถ€๋ชจ๊ฐ€ ์—†์œผ๋ฉด ๋ฌต์‹œ์ ์œผ๋กœ Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค.
  • toString()์€ Object ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ

์ž๋ฐ”์—์„œ Object ํด๋ž˜์Šค๊ฐ€ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ ์ด์œ 

๐Ÿ”น ๊ณตํ†ต ๊ธฐ๋Šฅ ์ œ๊ณต

  • ๋ชจ๋“  ๊ฐ์ฒด๋Š” ๊ณตํ†ต๊ธฐ๋Šฅ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ œ๊ณต(์ƒ์†)๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

    • ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” toString()
    • ๊ฐ์ฒด์˜ ๊ฐ™์Œ์„ ๋น„๊ตํ•˜๋Š” equals()
    • ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” getClass()
    • ๋“ฑ๋“ฑ

๐Ÿ”น ๋‹คํ˜•์„ฑ์˜ ๊ธฐ๋ณธ ๊ตฌํ˜„

  • ๋ถ€๋ชจ๋Š” ์ž์‹์„ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.
  • Object๋Š” ๋ชจ๋“  ํด๋ž˜์Šค์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

instanceof ํ•ต์‹ฌ ์ •๋ฆฌ

  • instanceof๋Š” ๋ณ€์ˆ˜ ํƒ€์ž…์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ํ™•์ธํ•œ๋‹ค.
  • obj๊ฐ€ Object ํƒ€์ž…์œผ๋กœ ์„ ์–ธ๋ผ๋„, ์•ˆ์— ์‹ค์ œ๋กœ Dog ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด์žˆ์œผ๋ฉด obj instanceof Dog๋Š” true๊ฐ€ ๋œ๋‹ค.
  • instanceof๋Š” true/false๋งŒ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ํƒ€์ž… ํ™•์ธ๋งŒ ํ•œ๋‹ค.
  • ์ž๋ฐ” 16๋ถ€ํ„ฐ instanceof์— ํŒจํ„ด ๋งค์นญ์„ ์ ์šฉํ•ด ์ž๋™์œผ๋กœ

Object๋ฅผ ํ™œ์šฉํ•œ ๋‹คํ˜•์„ฑ์˜ ํ•œ๊ณ„

  • Object๋Š” ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋‹คํ˜•์  ์ฐธ์กฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Object๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋ฐ›์€ ๊ฐ์ฒด๋ฅผ ํ˜ธ์ถœํ•˜๋ ค๋ฉด ๊ฐ ๊ฐ์ฒด์— ๋งž๋Š” ๋‹ค์šด์บ์ŠคํŒ… ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

  • Object๊ฐ€ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

  • toString ์˜ค๋ฒ„๋ผ์ด๋”ฉ : alt+insert๋กœ ํ•˜๋ฉด ๋งค์šฐ ํŽธ๋ฆฌํ•จ


์ •์  ์˜์กด๊ด€๊ณ„ vs ๋™์  ์˜์กด๊ด€๊ณ„

์ •์  ์˜์กด๊ด€๊ณ„

  • ์ฝ”๋“œ ์ƒ์—์„œ ์ง์ ‘ new๋กœ ๊ฐ์ฒด ์ƒ์„ฑ
  • ์ปดํŒŒ์ผ ์‹œ์ ์— ์˜์กด์„ฑ์ด ๊ฒฐ์ •
  • ์ฝ”๋“œ ์ˆ˜์ • ์—†์ด๋Š” ์˜์กด์„ฑ ๊ต์ฒด ์–ด๋ ค์›€

๋™์  ์˜์กด๊ด€๊ณ„

  • ๊ฐ์ฒด๋ฅผ ์™ธ๋ถ€์—์„œ ์ฃผ์ž… (์ƒ์„ฑ์ž, setter, DI)
  • ๋Ÿฐํƒ€์ž„ ์‹œ์ ์— ์˜์กด์„ฑ ๊ฒฐ์ •
  • ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ๊ฐ์ฒด ๊ต์ฒด ๊ฐ€๋Šฅ

equals() ๋™์ผ์„ฑ๊ณผ ๋™๋“ฑ์„ฑ

๋™์ผ์„ฑ

  • == ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋‘ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ€ ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ

๋™๋“ฑ์„ฑ

  • equals() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐ์ฒด๊ฐ€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™๋“ฑํ•œ์ง€ ํ™•์ธ
  • ๋™๋“ฑ์„ฑ ๋น„๊ต๊ฐ€ ํ•ญ์ƒ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋™๋“ฑ์„ฑ ๋น„๊ต๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ equals()๋ฅผ ์žฌ์ •์˜ํ•˜๋ฉด ๋œ๋‹ค.

๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ๊ฒฝ์šฐ

  • ๊ธฐ๋ณธํ˜•: ํ•˜๋‚˜์˜ ๊ฐ’์„ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์—์„œ ์ ˆ๋Œ€๋กœ ๊ณต์œ ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์ฐธ์กฐํ˜•: ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๊ฐ’์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์—์„œ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ž๋ฐ”๋Š” ํ•ญ์ƒ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋Œ€์ž…ํ•œ๋‹ค.

์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์–ด๋–ค ๊ณ„์‚ฐ์ด ์ฃผ๋œ ์ž‘์—… ์™ธ์— ์ถ”๊ฐ€์ ์ธ ๋ถ€์ˆ˜ ํšจ๊ณผ๋ฅผ ์ผ์œผํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•จ. (๋ถ€์ •์ ์ธ ์˜๋ฏธ)
  • ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ๋ฐฉ๋ฒ•์€ ์—†๋‹ค.
  • ๊ธฐ๋ณธํ˜•์€ ํ•ญ์ƒ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋Œ€์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์ด ์ ˆ๋Œ€๋กœ ๊ณต์œ ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ํ•˜์ง€๋งŒ ์ฐธ์กฐํ˜•์˜ ๊ฒฝ์šฐ ๊ฐ™์€ ์ฐธ์กฐ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋Œ€์ž…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์—์„œ ์–ผ๋งˆ๋“ ์ง€ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ถˆ๋ณ€ ๊ฐ์ฒด

  • ๊ฐ์ฒด์˜ ์ƒํƒœ(๊ฐ์ฒด ๋‚ด๋ถ€์˜ ๊ฐ’, ํ•„๋“œ, ๋ฉค๋ฒ„ ๋ณ€์ˆ˜)๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด
  • ๋ถˆ๋ณ€์ด๋ผ๋Š” ๋‹จ์ˆœํ•œ ์ œ์•ฝ์„ ์‚ฌ์šฉํ•ด์„œ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๋ผ๋Š” ํฐ ๋ฌธ์ œ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ถˆ๋ณ€ ๊ฐ์ฒด๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋ถˆ๋ณ€ ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ฐ’์œผ๋กœ ์ƒˆ๋กœ์šด ๋ถˆ๋ณ€ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ์กด ๋ณ€์ˆ˜๋“ค์ด ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

์ฐธ๊ณ  - withXxx()

  • ๋ถˆ๋ณ€ ๊ฐ์ฒด์—์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ withYear()์ฒ˜๋Ÿผ 'with'๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

  • ๋ถˆ๋ณ€ ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๊ฐ€ 'with'๋กœ ์ด๋ฆ„ ์ง€์–ด์ง„ ๊ฒฝ์šฐ, ๊ทธ ๋ฉ”์„œ๋“œ๊ฐ€ ์ง€์ •๋œ ์ˆ˜์ •์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด์˜ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋œปํ•œ๋‹ค.

  • ์ •๋ฆฌํ•˜์ž๋ฉด with๋Š” ๊ด€๋ก€์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์›๋ณธ ๊ฐ์ฒด์˜ ์ƒํƒœ๊ฐ€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋จ์„ ๊ฐ•์กฐํ•˜๋ฉด์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ƒˆ ๋ณต์‚ฌ๋ณธ์— ํฌํ•จํ•˜๋Š” ๊ณผ์ •์„ ํ‘œํ˜„.

  • ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ๋ถˆ๋ณ€์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.


String

  • String์€ ํด๋ž˜์Šค๋‹ค. int, boolean ๊ฐ™์€ ๊ธฐ๋ณธํ˜•์ด ์•„๋‹ˆ๋ผ ์ฐธ์กฐํ˜•์ด๋‹ค.
String str1 = "hello"; //๊ธฐ์กด
String str1 = new String("Hello"); //๋ณ€๊ฒฝ
  • ๋ฌธ์ž์—ด์€ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๊ทธ๋ž˜์„œ ํŽธ์˜์ƒ ์Œ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌธ์ž์—ด์„ ๊ฐ์‹ธ๋ฉด ์ž๋ฐ” ์–ธ์–ด์—์„œ new String("hello")์™€ ๊ฐ™์ด ๋ณ€๊ฒฝ๋œ๋‹ค.

String ๊ธฐ๋Šฅ

  • length(): ๋ฌธ์ž์—ด ๊ธธ์ด ๋ฐ˜ํ™˜
  • charAt(int index): ํŠน์ • ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž ๋ฐ˜ํ™˜
  • substring(int beginIndex, int endIndex): ๋ฌธ์ž์—ด์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
  • indexOf(String str): ํŠน์ • ๋ฌธ์ž์—ด์ด ์‹œ์ž‘๋˜๋Š” ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜
  • toLowerCase(), toUpperCase(): ๋ฌธ์ž์—ด์„ ์†Œ๋ฌธ์ž ๋˜๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ฐ˜ํ™˜
  • trim(): ๋ฌธ์ž์—ด ์–‘ ๋์˜ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐ
  • concat(String str): ๋ฌธ์ž์—ด์„ ๋”ํ•จ (๊ธฐ์กด ๋ฌธ์ž์—ด์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผํ•จ)

String ํด๋ž˜์Šค - ๋น„๊ต

  • String ํด๋ž˜์Šค ๋น„๊ตํ•  ๋•Œ๋Š” == ๋น„๊ต๊ฐ€ ์•„๋‹ˆ๋ผ ํ•ญ์ƒ equals() ๋น„๊ต๋ฅผ ํ•ด์•ผํ•œ๋‹ค.
String str3 = "hello"
String str4 = "hello"
str3 == str4  // true
  • ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž๋ฐ”๋Š” ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๋ฌธ์ž์—ด ํ’€์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์ž๋ฐ”๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์— ํด๋ž˜์Šค์— ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ์žˆ์œผ๋ฉด ๋ฌธ์ž์—ด ํ’€์— String ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘”๋‹ค.

  • ์ด๋•Œ ๊ฐ™์€ ๋ฌธ์ž์—ด์ด ์žˆ์œผ๋ฉด ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค.

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ’€์€ ๊ณต์šฉ ์ž์›์„ ๋ชจ์•„๋‘” ๊ณณ์„ ๋œปํ•จ.

  • ์ฐธ๊ณ ๋กœ ๋ฌธ์ž์—ด ํ’€์€ ํž™ ์˜์—ญ์„ ์‚ฌ์šฉ.

  • ๊ทธ๋ž˜๋„ ๋ฌธ์ž์—ด ๋น„๊ต๋Š” ํ•ญ์ƒ equals()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋™๋“ฑ์„ฑ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.

  • String์€ ๋ถˆ๋ณ€ ๊ฐ์ฒด์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ƒ์„ฑ ์ดํ›„์— ์ ˆ๋Œ€๋กœ ๋‚ด๋ถ€์˜ ๋ฌธ์ž์—ด ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.


String ํด๋ž˜์Šค - ์ฃผ์š” ๋ฉ”์„œ๋“œ

๋ฌธ์ž์—ด ์ •๋ณด ์กฐํšŒ

  • length(): ๋ฌธ์ž์—ด ๊ธธ์ด ๋ฐ˜ํ™˜
  • isEmpty(): ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ (๊ธธ์ด๊ฐ€ 0)
  • isBlank(): ๋ฌธ์ž์—ด์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธ (๊ธธ์ด๊ฐ€ 0์ด๊ฑฐ๋‚˜ ๊ณต๋ฐฑ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ)
  • charAt(int index): ์ง€์ •๋œ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜

๋ฌธ์ž์—ด ๋น„๊ต

  • equals(Object anObject): ๋‘ ๋ฌธ์ž์—ด ๋™์ผํ•œ์ง€ ๋น„๊ต
  • equalsIgnoreCase(String anotherString): ๋‘ ๋ฌธ์ž์—ด์„ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ๋น„๊ต
  • compareTo(String anotherString): ๋‘ ๋ฌธ์ž์—ด์„ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๋น„๊ต
  • compareToIgnoreCase(String str): ๋‘ ๋ฌธ์ž์—ด์„ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ์—†์ด ์‚ฌ์ „์ ์œผ๋กœ ๋น„๊ต
  • startsWith(String prefix): ๋ฌธ์ž์—ด์ด ํŠน์ • ์ ‘๋‘์‚ฌ๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€ ํ™•์ธ
  • endsWith(String suffix): ๋ฌธ์ž์—ด์ด ํŠน์ • ์ ‘๋ฏธ์‚ฌ๋กœ ๋๋‚˜๋Š”์ง€ ํ™•์ธ

๋ฌธ์ž์—ด ๊ฒ€์ƒ‰

  • contains(CharSequence s): ๋ฌธ์ž์—ด์ด ํŠน์ • ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ
  • indexOf
  • lastIndexOf

๋ฌธ์ž์—ด ์กฐ์ž‘ ๋ฐ ๋ณ€ํ™˜

  • substring(int beginIndex) / substring(int beginIndex, int endIndex)
  • concat(String str)
  • replace(CharSequence target, CharSequence replacement)
  • replaceAll(String regex, String replacement)
  • replaceFirst(String regex, String replacement)
  • toLowerCase() / toUpperCase()
  • trim()
  • strip()

๋ฌธ์ž์—ด ๋ถ„ํ•  ๋ฐ ์กฐํ•ฉ

  • split(String regex)
  • join(CharSequence delimiter, CharSequence... elements)

๊ธฐํƒ€ ์œ ํ‹ธ๋ฆฌํ‹ฐ

  • valueOf(Object obj): ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜

  • toCharArray(): ๋ฌธ์ž์—ด์„ ๋ฌธ์ž ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜

  • format(String format, Object... args): ํ˜•์‹ ๋ฌธ์ž์—ด๊ณผ ์ธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ƒ์„ฑ

  • matches(String regex): ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„ ์ •๊ทœ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธ

  • ๋ถˆ๋ณ€์ธ String ํด๋ž˜์Šค์˜ ๋‹จ์ ์€ ๋ฌธ์ž๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ๊ณ„์†ํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

  • ๋ฌธ์ž๋ฅผ ์ž์ฃผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋” ๋งŽ์€ String ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ , GCํ•ด์•ผ ํ•œ๋‹ค.


StringBuilder

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

StringBuilder๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ๊ฒฝ์šฐ

  • ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋ฐ˜๋ณตํ•ด์„œ ๋ฌธ์ž๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ
  • ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ๋™์ ์œผ๋กœ ๋ฌธ์ž์—ด์„ ์กฐํ•ฉํ•  ๋•Œ
  • ๋ณต์žกํ•œ ๋ฌธ์ž์—ด์˜ ํŠน์ • ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๋•Œ
  • ๋งค์šฐ ๊ธด ๋Œ€์šฉ๋Ÿ‰ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃฐ ๋•Œ

๋ฉ”์„œ๋“œ ์ฒด์ด๋‹ (Method Chaining)

  • ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๊ฒฐ๊ณผ๋กœ ๋ฆฌํ„ด๋œ ๊ฐ์ฒด์—์„œ ๋˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
  • ์ฃผ๋กœ ๊ฐ™์€ ๊ฐ์ฒด(this)๋ฅผ ๋ฆฌํ„ดํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์—ฐ์† ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ ๋‹ค.
  • ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง„๋‹ค.

์˜ˆ์‹œ

StringBuilder sb = new StringBuilder();
sb.append("Hello")
  .append(" ")
  .append("World!")
  .reverse();

System.out.println(sb.toString());
  • append()๋Š” StringBuilder ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์† ํ˜ธ์ถœ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฃผ์š” ํŠน์ง•

  • ํ•œ ๊ฐ์ฒด์—์„œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฐ์† ํ˜ธ์ถœํ•ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  • ๋ฉ”์„œ๋“œ๊ฐ€ return this ํ˜•ํƒœ๋กœ ๊ฐ์ฒด ์ž๊ธฐ ์ž์‹ ์„ ๋ฐ˜ํ™˜ํ•ด์•ผ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Setter ๋ฉ”์„œ๋“œ๋‚˜ ๋นŒ๋” ํŒจํ„ด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

์žฅ์ 

  • ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ง๊ด€์ ์ด๋‹ค.
  • ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฐ์† ํ˜ธ์ถœํ•ด ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ์ 

  • ๋””๋ฒ„๊น…์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.
  • ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ์‹œ: ๋นŒ๋” ํŒจํ„ด

Person person = new PersonBuilder()
                    .setName("Alice")
                    .setAge(25)
                    .build();

๊ธฐ๋ณธํ˜•์˜ ํ•œ๊ณ„

  • ๊ฐ์ฒด๊ฐ€ ์•„๋‹˜: ๊ฐ์ฒด๋Š” ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ธฐ๋ณธํ˜•์€ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋ฉ”์„œ๋“œ ์ œ๊ณต X
  • null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ: ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค. ๋•Œ๋กœ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Œ ์ด๋ผ๋Š” ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ธฐ๋ณธํ˜•์€ ํ•ญ์ƒ ๊ฐ’์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ํ‘œํ˜„์„ ํ•  ์ˆ˜ ์—†๋‹ค.

๋ž˜ํผ ํด๋ž˜์Šค

  • ๊ธฐ๋ณธํ˜•์„ ๊ฐ์ฒด๋กœ ๊ฐ์‹ธ์„œ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ๋„์™€์คŒ.
๊ธฐ๋ณธํ˜• ๋ž˜ํผ ํด๋ž˜์Šค
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

์ž๋ฐ”๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ ๋ž˜ํผ ํด๋ž˜์Šค ํŠน์ง•

  • ๋ถˆ๋ณ€
  • equals๋กœ ๋น„๊ตํ•ด์•ผ ํ•œ๋‹ค.

๋ž˜ํผ ํด๋ž˜์Šค ์ƒ์„ฑ - ๋ฐ•์‹ฑ(Boxing)

  • new Integer(10)์€ ์ง์ ‘ ์‚ฌ์šฉ X, ์ž‘๋™์€ ํ•˜์ง€๋งŒ ํ–ฅํ›„ ์ž๋ฐ”์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •.
  • ๋Œ€์‹ ์— Integer.valueOf(10)

intValue() - ์–ธ๋ฐ•์‹ฑ(Unboxing)

  • ๋ž˜ํผ ํด๋ž˜์Šค์— ๋“ค์–ด์žˆ๋Š” ๊ธฐ๋ณธํ˜• ๊ฐ’์„ ๋‹ค์‹œ ๊บผ๋‚ด๋Š” ๋ฉ”์„œ๋“œ.

๋น„๊ต๋Š” equals() ์‚ฌ์šฉ

  • ๋ž˜ํผํด๋ž˜์Šค๋Š” ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— == ๋น„๊ต๋ฅผ ํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ์ฐธ์กฐ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.
  • ๋ž˜ํผ ํด๋ž˜์Šค๋Š” ๋‚ด๋ถ€์˜ ๊ฐ’์„ ๋น„๊ตํ•˜๋„๋ก equals()๋ฅผ ์žฌ์ •์˜ ํ•ด๋‘์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ’์„ ๋น„๊ตํ•˜๋ ค๋ฉด equals()๋ฅผ ์‚ฌ์šฉ.
  • toString()๋„ ์žฌ์ •์˜ํ–ˆ๋‹ค.
  • ์ž๋ฐ” ์˜คํ†  ์–ธ๋ฐ•์‹ฑ, ๋ฐ•์‹ฑ ์ง€์›: ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ฐœ๋ฐœ์ž ๋Œ€์‹  valueOf, xxxValue() ๋“ฑ์˜ ์ฝ”๋“œ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ.

๋ž˜ํผํด๋ž˜์Šค ์ฃผ์š” ๋ฉ”์„œ๋“œ

  • valueOf(): ๋ž˜ํผ ํƒ€์ž…์„ ๋ฐ˜ํ™˜. ์ˆซ์ž, ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค.
  • parseInt(): ๋ฌธ์ž์—ด์„ ๊ธฐ๋ณธํ˜•์œผ๋กœ ๋ณ€ํ™˜.
  • compareTo(): ๋‚ด ๊ฐ’๊ณผ ์ธ์ˆ˜๋กœ ๋„˜์–ด์˜จ ๊ฐ’์„ ๋น„๊ต. ๋‚ด ๊ฐ’์ด ํฌ๋ฉด 1, ๊ฐ™์œผ๋ฉด 0, ๋‚ด ๊ฐ’์ด ์ž‘์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜.

Class ํด๋ž˜์Šค ๊ธฐ๋Šฅ

  • ํƒ€์ž… ์ •๋ณด ์–ป๊ธฐ
  • ๋ฆฌํ”Œ๋ ‰์…˜
  • ๋™์  ๋กœ๋”ฉ๊ณผ ์ƒ์„ฑ
  • ์• ๋…ธํ…Œ์ด์…˜ ์ฒ˜๋ฆฌ

class vs clazz

  • class๋Š” ์ž๋ฐ”์˜ ์˜ˆ์•ฝ์–ด์ด๋‹ค. ๋”ฐ๋ผ์„œ ํŒจํ‚ค์ง€๋ช…, ๋ณ€์ˆ˜๋ช…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ์ด๋Ÿฐ ์ด์œ ๋กœ ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋“ค์€ class ๋Œ€์‹  clazz๋ผ๋Š” ์ด๋ฆ„์„ ๊ด€ํ–‰์œผ๋กœ ์‚ฌ์šฉ.

class ํด๋ž˜์Šค์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

  • getDeclaredFields(): ํด๋ž˜์Šค์˜ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์กฐํšŒ.
  • getDeclaredMethods(): ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ์กฐํšŒ.
  • getSuperclass(): ํด๋ž˜์Šค์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ์กฐํšŒ.
  • getInterfaces(): ํด๋ž˜์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์„ ์กฐํšŒ.

์—ด๊ฑฐํ˜• - Enum Type

  • ์ƒ์ˆ˜๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๋‚ด์—์„œ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ
  • ์—ด๊ฑฐํ˜•๋„ ํด๋ž˜์Šค์ด๋‹ค.
  • ์—ด๊ฑฐํ˜•์€ toString()์„ ์žฌ์ •์˜ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ์กฐ๊ฐ’์„ ์ง์ ‘ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.

์—ด๊ฑฐํ˜•์˜ ์žฅ์ 

  • ํƒ€์ž… ์•ˆ์ •์„ฑ ํ–ฅ์ƒ
  • ๊ฐ„๊ฒฐ์„ฑ ๋ฐ ์ผ๊ด€์„ฑ
  • ํ™•์žฅ์„ฑ

Enum - ์ฃผ์š” ๋ฉ”์„œ๋“œ

  • values(): ๋ชจ๋“  ENUM ์ƒ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค
  • valueOf(String name): ์ฃผ์–ด์ง„ ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜๋Š” ENUM ์ƒ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • name(): ENUM ์ƒ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ordinal(): ENUM ์ƒ์ˆ˜์˜ ์„ ์–ธ ์ˆœ์„œ(0๋ถ€ํ„ฐ ์‹œ์ž‘)๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • toString(): ENUM ์ƒ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. name() ๋ฉ”์„œ๋“œ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, toString()์€ ์ง์ ‘ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฃผ์˜

  • ordinal()์€ ๊ฐ€๊ธ‰์  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

    • ์ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์ค‘๊ฐ„์— ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์ „์ฒด ์ƒ์ˆ˜์˜ ์œ„์น˜๊ฐ€ ๋ชจ๋‘ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์—ด๊ฑฐํ˜• ์ •๋ฆฌ

  • ์—ด๊ฑฐํ˜•์€ java.lang.Enum์„ ์ž๋™์œผ๋กœ ์ƒ์† ๋ฐ›๋Š”๋‹ค.
  • ์—ด๊ฑฐํ˜•์€ ์ด๋ฏธ java.lang.Enum์„ ์ƒ์† ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”๊ฐ€๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์ƒ์†์„ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.
  • ์—ด๊ฑฐํ˜•์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ด๊ฑฐํ˜•์— ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•˜๊ณ , ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ด๊ฑฐํ˜•์€ ์ƒ์ˆ˜๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ ์™ธ์— ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์„ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ƒ์„ฑ์ž์— ์ ‘๊ทผ์ œ์–ด์ž๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์—†๊ฒŒ ๋ง‰ํ˜€์žˆ๋‹ค. private์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.