20210803) Static - static 변수

0

JAVA

목록 보기
55/71

Cat 클래스 static 변수추가

package static_variable;

public class Cat {
	private String name; // 인스턴스 변수 => 객체를 생성해야 사용가능
	public static final String FOOD = "고양이 사료 "; 
	private static int count = 0;
	
	public Cat(String name) { 
		this.name = name;
		count++; // 객체 생성시 count 증가
	}
	
	public int getCount() {
		return count;
	}
	
	@Override
	public String toString() {
		return "Cat [name=" + name + "]" ;
	}

}

App 클래스

package static_variable;

public class App {

	public static void main(String[] args) {
		// 스태틱 변수는 클래스의 변수로 각각의 객체에서 공유가능
		// 스태틱 변수는 객체를 만들 때 생성하는 게 아니라 클래스에 존재함
		
		Cat cat1 = new Cat("마틸다");
		Cat cat2 = new Cat("라이언");
		Cat cat3 = new Cat("울버린");

		
		System.out.println(cat1);
		System.out.println(cat2);
		System.out.println(cat3);

		System.out.println(Cat.FOOD);
		
		System.out.println(cat1.getCount());		
		System.out.println(cat2.getCount());
		System.out.println(cat3.getCount());
	}

}

static 변수 count는 객체와 상관없이 클래스만 가지고 접근
그러고 생성자에 count++ 있어서 고양이 객체를 만들면 증가
각각의 고양이 객체 cat1, cat2, cat3에서 메서드 getCount()로 값을 가져와서 확인한다

0개의 댓글

관련 채용 정보