class Animal {
    String name; // 이렇게 클래스에 선언된 변수를 객체 변수(속성)라고 한다.
   
    public void setName(String name) {
        //Animal 클래스에 setName 메서드를 추가했다.
        //입력은 문자열로 name을 받고, 출력은 void(없음)
        this.name = name;
        // 만약 이후에 cat이라는 인스턴스에서, cat.setName("bob")이라고 하면
        //여기서 변수에 들어간 "bob"이 다른 객체가 아니라 이 객체,
        //cat 객체의 name이 된다는 뜻이다.
    }
}


public class Sample6 {
    public static void main(String[] args) {
        Animal cat = new Animal() ;  
        //cat이라는 객체는 Animal 클래스의 인스턴스이다.
        cat.setName("bob")

        Animal dog = new Animal() ;
        dog.setName("hee")

        System.out.println(cat.name);
        System.out.println(dog.name);
       
    }
}

 

 

System.out.println(cat.name);               //bob

        System.out.println(dog.name);       //hee

 

위의 출력값에서 알 수 있듯, 

Animal 클래스 안의 각각의 인스턴스에서 객체변수의 값 name은 독립적으로 유지된다.

 

이 기능은 클래스의 존재 이유이기도 하다.

 

+ Recent posts