πŸ“š[Java] ν΄λž˜μŠ€μ™€ 객체

텁텁·2025λ…„ 4μ›” 15일

ν΄λž˜μŠ€μ™€ 객체


클래슀

객체λ₯Ό λ§Œλ“€ λ•Œ ν•„μš”ν•œ 섀계도

  • 클래슀 ꡬ쑰(속성, μƒμ„±μž, κΈ°λŠ₯)
class Person {
    //1. 속성
    String name;
    int age;
    String address;
    
    //2. μƒμ„±μž
    Person(String name, int age) { // βœ… μƒˆλ‘œμš΄ μƒμ„±μž(쑰립섀λͺ…μ„œ)
        this.name = name;
        this.age = age;
    }

    //3. κΈ°λŠ₯
    // βœ… μ‚¬λžŒμ˜ μ†Œκ°œ κΈ°λŠ₯
    void introduce() {
        System.out.println("μ•ˆλ…•ν•˜μ„Έμš”.");
        System.out.println("λ‚˜μ˜ 이름은 " + this.name + "μž…λ‹ˆλ‹€.");
        System.out.println("λ‚˜μ΄λŠ” " + this.age + "μž…λ‹ˆλ‹€.");
    }
}

객체

μ‹€μ œλ‘œ μ‘΄μž¬ν•˜λŠ”κ²ƒ

  • μš°λ¦¬κ°€ μ£Όλ³€μ—μ„œ λ³Ό 수 μžˆλŠ” λͺ¨λ“  사물듀이 객체이닀.
  • μ–΄λ–€ κ°œλ…μ΄λ‚˜ 논리 같은 것도 객체가 될 수 μžˆλ‹€.
  • ν΄λž˜μŠ€κ°€ μ€€λΉ„λ˜μ–΄ μžˆλ‹€λ©΄ 클래슀λ₯Ό κΈ°μ€€μœΌλ‘œ μ—¬λŸ¬ 객체듀을 λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλ‹€.

객체 생성

  • 객체 μƒμ„±μ‹œ newλΌλŠ” ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
  • 객체λ₯Ό λ§Œλ“œλŠ” 과정을 μΈμŠ€ν„΄μŠ€ν™” 라고 ν‘œν˜„ν•œλ‹€.
  • μΈμŠ€ν„΄μŠ€ν™”κ°€ 되면 Java λ©”λͺ¨λ¦¬ 상에 객체가 μƒμ„±λœλ‹€.

μƒμ„±μž

  • 객체λ₯Ό λ§Œλ“€ λ•Œ μ‚¬μš©
  • 객체λ₯Ό μ–΄λ–»κ²Œ λ§Œλ“€μ§€ μ •μ˜ν•΄ 놓은 것 -> 쑰립섀λͺ…μ„œ
  • μƒμ„±μžκ°€ μ—†μœΌλ©΄ 클래슀λ₯Ό 객체화 μ‹œν‚¬ 수 μ—†λ‹€.
  • κΈ°λ³Έ μƒμ„±μž
    • 클래슀λ₯Ό μƒμ„±ν•˜λ©΄ κΈ°λ³Έμƒμ„±μžκ°€ μžλ™μœΌλ‘œ μΆ”κ°€λœλ‹€.
  • μƒμ„±μž νŠΉμ§•
    • λ°˜ν™˜ μžλ£Œν˜•μ΄ μ—†λ‹€.
    • 클래슀λͺ…κ³Ό 이름이 λ˜‘κ°™λ‹€.
    • μ—¬λŸ¬ κ°œκ°€ 쑴재 κ°€λŠ₯
  • thisν‚€μ›Œλ“œ
    • thisλŠ” 객체 μžμ‹ μ„ κ°€λ¦¬ν‚€λŠ” ν‚€μ›Œλ“œλ‘œ ν˜„μž¬ 싀행쀑인 객체λ₯Ό μ˜λ―Έν•œλ‹€.
  • μƒμ„±μžλ₯Ό ν†΅ν•΄μ„œ μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•΄ 쀄 수 μžˆλ‹€.

κΈ°λŠ₯(λ©”μ„œλ“œ)

  • κΈ°λŠ₯은 λ©”μ„œλ“œλ‘œ ν‘œν˜„ν•œλ‹€.
  • μƒμƒν•˜λŠ” λͺ¨λ“  κΈ°λŠ₯을 κ΅¬ν˜„ κ°€λŠ₯
    • μžκΈ°μ†Œκ°œ, λ”ν•˜κΈ°, κ±·κΈ° λ“±
  • ν•˜μ§€λ§Œ ν΄λž˜μŠ€μ™€ κ΄€λ ¨λœ κΈ°λŠ₯을 μž‘μ„±ν•˜λŠ” 것이 μ’‹λ‹€.
    • κ·Έ ν΄λž˜μŠ€κ°€ 뭘 ν•˜λŠ”μ§€, μ–΄λ–€ μ±…μž„μ„ κ°–λŠ”μ§€ λͺ…ν™•ν•˜κ²Œ ν•˜κΈ° μœ„ν•΄μ„œ

Getter & Setter

  1. Getter

    • 클래슀의 속성을 κ°€μ Έμ˜¬ λ•Œ μ‚¬μš©λ˜λŠ” κΈ°λŠ₯
    String getName() {
        return this.name;
    }
    
    int getAge() {
        return this.age;
    }
    
    String getAddress() {
        return this.address;
    }
    String name = person.getName();
    int age = person.getAge();
    String address = person.getAddress();
  2. Setter

    • 객체의 속성을 μ™ΈλΆ€μ—μ„œ μ„€μ •ν•  수 있게 ν•΄μ£ΌλŠ” κΈ°λŠ₯
    void getName(String name) {
            this.name = name;
    }
    
    void getAge(int age) {
            this.age = age;
    }
    
    void setAddress(String address) {
            this.address = address;
    }
    public class Main {
    
            public static void main(String[] args) {
                    Person personA = new Person("gygim", 20);
                    Person personB = new Person("Steve", 15);
                    
                    personA.setAddress("μ„œμšΈ"); // βœ… personA 의 μ£Όμ†Œ μ„€μ •
                    personB.setAddress("λ―Έκ΅­"); // βœ… personA 의 μ£Όμ†Œ μ„€μ •
                    
            }
    }

profile
μ°¨κ·Όμ°¨κ·Ό

0개의 λŒ“κΈ€