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은 독립적으로 유지된다.
이 기능은 클래스의 존재 이유이기도 하다.
'JAVA' 카테고리의 다른 글
[점프 투 자바] 메서드- 리턴의 또다른 쓰임, 변수의 효력 범위 (0) | 2024.02.06 |
---|---|
[생활코딩] Java 메서드 강의 1-6 (1) | 2024.02.06 |
[생활코딩] Java의 객체지향 프로그래밍 - 인스턴스와 static (0) | 2024.02.03 |
[생활코딩] Java의 객체지향 프로그래밍 - 클래스, 변수와 메소드 (0) | 2024.02.03 |
[점프 투 자바] for each 문 (1) | 2024.02.01 |