[Java] Object

Jeiniยท2025๋…„ 9์›” 8์ผ
0

โ˜•๏ธย  Java

๋ชฉ๋ก ๋ณด๊ธฐ
60/70
post-thumbnail

๐Ÿ’ก Java.lang ํŒจํ‚ค์ง€

โœ… ์ž๋ฐ” ์–ธ์–ด๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ๊ธฐ๋ณธ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋“ค์ด ๋ชจ์—ฌ์žˆ๋Š” ํŒจํ‚ค์ง€

  • ๋ชจ๋“  ์ž๋ฐ” ํŒŒ์ผ์— ์ž๋™์œผ๋กœ(import ์—†์ด) ํฌํ•จ๋˜์–ด ์žˆ์–ด, ์–ธ์ œ๋“ ์ง€ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ํŒจํ‚ค์ง€๋Š” java.base ๋ชจ๋“ˆ์— ์†ํ•ด ์žˆ์œผ๋ฉฐ, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์— ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ๋™์ž‘์„ ๋‹ด๋‹นํ•œ๋‹ค.

๐Ÿ’ก ์ตœ์ƒ์œ„ ํด๋ž˜์Šค object

๐Ÿ› ์ž๋ฐ” ํด๋ž˜์Šค ๊ณ„์ธต ๊ตฌ์กฐ์˜ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค

  • ์ž๋ฐ”์—์„œ ์ •์˜ํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๋Š” ์ž๋™์œผ๋กœ Object ๋ฅผ ์ƒ์†ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ Object ๊ฐ€ ๊ฐ€์ง„ ๋ฉ”์„œ๋“œ๋“ค์€ ๋ชจ๋“  ํด๋ž˜์Šค์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜, ํ•„์š”ํ•˜๋ฉด ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;
    }
}

// ์‚ฌ์‹ค์ƒ ์ด๋ ‡๊ฒŒ ๋™์ž‘
public class Person extends Object {
    private String name;
}

โš™๏ธ Object ํด๋ž˜์Šค์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ๋“ค

โ—๏ธ๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ

โ—๏ธ ์ฃผ์š” ๋ฉ”์„œ๋“œ

โญ๏ธ 1. toString()

  • ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•  ๋•Œ ํ˜ธ์ถœ๋จ.
  • ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ํด๋ž˜์Šค๋ช…@ํ•ด์‹œ์ฝ”๋“œ ๋ฅผ ๋ฆฌํ„ด.
    โžก๏ธ getClass().getName() + '@' + Integer.toHexString(hashCode())
  • ๋ณดํ†ต ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ๊ฐ์ฒด ์ƒํƒœ๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•ด์คŒ.

Person p = new Person("๊น€์ œ๋‹ˆ");
System.out.println(p.toString()); 
// ๊ธฐ๋ณธ: project.Person@15db9742

โญ๏ธ 2. equals(Object obj)

  • ๋‘ ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€์ง€ ๋น„๊ต.
  • ๊ธฐ๋ณธ ๊ตฌํ˜„์€ ๋‘ ์ธ์Šคํ„ด์Šค์˜ Heap ์ฃผ์†Œ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ Boolean ๊ฐ’์„ ๋ฆฌํ„ดํ•จ.
  • ์ง์ ‘ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ๊ฐ’ ๋น„๊ต๋กœ ๋งŽ์ด ์”€.
String a = new String("hi");
String b = new String("hi");
System.out.println(a.equals(b)); // true (๊ฐ’ ๋น„๊ต)
System.out.println(a == b);      // false (์ฃผ์†Œ ๋น„๊ต)

3. hashCode()

  • ๊ฐ์ฒด์˜ ํ•ด์‹œ์ฝ”๋“œ ๊ฐ’ ๋ฐ˜ํ™˜.
  • equals()๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋ฉด hashCode()๋„ ๊ฐ™์ด ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•˜๋Š” ๊ฒŒ ๊ทœ์น™.
  • ํ•ด์‹œ ๊ธฐ๋ฐ˜ ์ปฌ๋ ‰์…˜(HashMap, HashSet)์—์„œ ์‚ฌ์šฉ๋จ.

4. clone()

  • ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌ(์–•์€ ๋ณต์‚ฌ)ํ•  ๋•Œ ์‚ฌ์šฉ.
  • ํด๋ž˜์Šค๊ฐ€ Cloneable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
profile
Fill in my own colorful colors๐ŸŽจ

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