🧱 객체(Object)λž€?


μ‰½κ²Œ 말해, κ°μ²΄λŠ” **속성(데이터)**κ³Ό **행동(κΈ°λŠ₯)**을 ν•¨κ»˜ κ°€μ§€λ©°, ν”„λ‘œκ·Έλž¨ μ•ˆμ—μ„œ ν•˜λ‚˜μ˜ 독립적인 주체둜 λ™μž‘ν•©λ‹ˆλ‹€.

πŸ’¬ λΉ„μœ : κ°μ²΄λŠ” '섀계도(클래슀)'λ₯Ό λ°”νƒ•μœΌλ‘œ λ§Œλ“€μ–΄μ§„ 'μ œν’ˆ'μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μžλ™μ°¨ μ„€κ³„λ„λ‘œλΆ€ν„° λ§Œλ“€μ–΄μ§„ μ‹€μ œ μžλ™μ°¨ ν•œ λŒ€κ°€ λ°”λ‘œ κ°μ²΄μž…λ‹ˆλ‹€.


βœ”οΈ 객체와 클래슀의 관계

μ˜ˆμ‹œ: UserλΌλŠ” 클래슀λ₯Ό μ •μ˜ν•œ λ’€, 이λ₯Ό λ°”νƒ•μœΌλ‘œ user1, user2 같은 객체λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.


βœ”οΈ 객체의 ꡬ성 μš”μ†Œ

ꡬ성 μš”μ†Œ μ„€λͺ…
🧩 ν•„λ“œ(Field) 객체가 κ°€μ§€λŠ” μ†μ„±μ΄λ‚˜ μƒνƒœ. λ³€μˆ˜λ‘œ ν‘œν˜„λ¨
βš™οΈ λ©”μ„œλ“œ(Method) 객체가 μˆ˜ν–‰ν•  수 μžˆλŠ” λ™μž‘. ν•¨μˆ˜μ²˜λŸΌ 행동함

πŸ“Œ μ˜ˆμ‹œ: μžλ™μ°¨ 객체

ν•„λ“œ (μƒνƒœ) λ©”μ„œλ“œ (행동)
속도, 색상, μ—°λ£ŒλŸ‰ κ°€μ†ν•˜κΈ°, 브레이크 밟기, λ°©ν–₯ μ „ν™˜ν•˜κΈ°

✏️ μ˜ˆμ‹œ μ½”λ“œ: User 객체 λͺ¨λΈλ§

public class User {
    String gender;
    int age;
    double height;
    double weight;

    void recordExercise(int minutes) {
        System.out.println(minutes + "λΆ„ μš΄λ™μ„ κΈ°λ‘ν–ˆμŠ΅λ‹ˆλ‹€.");
    }

    void recordFood(String food) {
        System.out.println(food + "λ₯Ό(을) μ„­μ·¨ν–ˆμŠ΅λ‹ˆλ‹€.");
    }
}