[TIL] 2024-12-20_Object

Yuriยท2024๋…„ 12์›” 20์ผ

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
12/59
post-thumbnail

1. Object ํด๋ž˜์Šค

โœ๏ธ java.lang ํŒจํ‚ค์ง€

์ž๋ฐ” ์–ธ์–ด๋ฅผ ์ด๋ฃจ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ํด๋ž˜์Šค๋“ค์„ ๋ณด๊ด€ํ•˜๋Š” ํŒจํ‚ค์ง€

java.lang ํŒจํ‚ค์ง€์˜ ๋Œ€ํ‘œ์ ์ธ ํด๋ž˜์Šค

  • Object: ๋ชจ๋“  ์ž๋ฐ” ๊ฐ์ฒด์˜ ๋ถ€๋ชจ ํด๋ž˜์Šค
  • String: ๋ฌธ์ž์—ด
  • Integer, Long, Double: ๋ž˜ํผ ํƒ€์ž…, ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ ๊ฒƒ
  • Class: ํด๋ž˜์Šค ๋ฉ”ํƒ€ ์ •๋ณด
  • System: ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณต

โ†’ import ์ƒ๋žต ๊ฐ€๋Šฅ : java.lang ํŒจํ‚ค์ง€๋Š” ๋ชจ๋“  ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ž๋™์œผ๋กœ ์ž„ํฌํŠธ(import)๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ž„ํฌํŠธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

๐ŸŒ Object ํด๋ž˜์Šค

์ž๋ฐ”์—์„œ ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค๋Š” ํ•ญ์ƒ Object ํด๋ž˜์Šค์ด๋‹ค.

  • ์ž๋ฐ”์—์„œ Object ํด๋ž˜์Šค๊ฐ€ ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค์ธ ์ด์œ 
    (= ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ Object ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ด์œ )
    • ๊ณตํ†ต ๊ธฐ๋Šฅ ์ œ๊ณต
    • ๋‹คํ˜•์„ฑ์˜ ๊ธฐ๋ณธ ๊ตฌํ˜„

๊ณตํ†ต ๊ธฐ๋Šฅ ์ œ๊ณต

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

  • toString(): ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ์ œ๊ณต
  • equals(): ๊ฐ์ฒด์˜ ๊ฐ™์Œ์„ ๋น„๊ต
  • getClass(): ๊ฐ์ฒด์˜ ํด๋ž˜์Šค ์ •๋ณด๋ฅผ ์ œ๊ณต
  • clone(): ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•  ๋•Œ ์‚ฌ์šฉ
  • hashCode()
  • notify() , notifyAll() , wait(): ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ์šฉ ๋ฉ”์„œ๋“œ

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

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

๐Ÿ‘ Object ๋‹คํ˜•์„ฑ์˜ ์žฅ์ 

์–ด๋–ค ๊ฐ์ฒด๋“ ์ง€ ์ธ์ž๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ‘Ž Object ๋‹คํ˜•์„ฑ์˜ ํ•œ๊ณ„

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

๋‹คํ˜•์„ฑ์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๋ ค๋ฉด ๋‹คํ˜•์  ์ฐธ์กฐ + ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฉด์—์„œ Object๋ฅผ ์‚ฌ์šฉํ•œ ๋‹คํ˜•์„ฑ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

Object ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ

Object๋Š” ์ตœ์ƒ์œ„ ๋ถ€๋ชจ ํด๋ž˜์Šค ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ๊ฐ์ฒด๋Š” Object์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • toString(): ๊ฐ์ฒด์˜ ์ •๋ณด๋ฅผ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ œ๊ณต
  • equals(): ๊ฐ์ฒด์˜ ๊ฐ™์Œ์„ ๋น„๊ต

์œ„์˜ Object ๋ฉ”์„œ๋“œ๋Š” IDE ์—์„œ ์ž๋™ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ์ƒ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค.


๐Ÿ’ญ ์˜ค๋Š˜๋กœ ์‚ฌ์ „์บ ํ”„ 5์ฃผ์ฐจ๊ฐ€ ๋งˆ๋ฌด๋ฆฌ๋˜์—ˆ๋‹ค. ์ด์ œ ๋‹ค์Œ์ฃผ๋ถ€ํ„ฐ๋Š” ๋ณธ ์บ ํ”„์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ์•„์ง ๊ฑฑ์ •๋˜๋Š” ๋งˆ์Œ์ด ์•ž์„œ์ง€๋งŒ ์ด ๊ณผ์ •์„ ๊ฑฐ์ณ ์„ฑ์žฅํ•  ๋‚˜๋ฅผ ๊ธฐ๋Œ€ํ•˜๋ฉฐ ํ™”์ดํŒ…!

profile
์•ˆ๋…•ํ•˜์„ธ์š” :)

0๊ฐœ์˜ ๋Œ“๊ธ€