모든 고양이 객체가 생성될 때 고유의 ID를 넣어주기로 한다.
Cat 클래스
우선 id 변수 추가
toString메소드에 id와 이름이 함께 나오도록 리턴 문자열 수정
package static_method;
public class Cat {
private int id; // 일반 인스턴스 변수
public Cat(String name) {
this.name = name;
id = count;
count++; // 객체 생성시 count 증가
}
}
@Override
public String toString() {
return String.format("Cat id: %d, name: %s", id, name);
} // 이름만 다르지 printf랑 똑같아요 id는 %d에 들어가고 name에는 %s가 들어감
}
결과
고양이 숫자 :0
Cat ID: 0, name: 마틸다
Cat ID: 1, name: 라이언
Cat ID: 2, name: 울버린
고양이 사료
고양이 숫자 :3