20210803) Static - static 메소드

0

JAVA

목록 보기
56/71

Cat 클래스
getCount => static 메소드로

package static_method;

public class App {

	public static void main(String[] args) {
		// 스태틱 메소드는 클래스이름.메소드
		System.out.println("고양이 몇 마리 ? :" + Cat.getCount());
		
        final String CAT_COUNT = "고양이 숫자: %d\n";
		String catCount = String.format(CAT_COUNT, Cat.getCount());
		System.out.println(catCount);
		
		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("고양이 몇 마리 ? : " + Cat.getCount());
        catCount = String.format(CAT_COUNT, Cat.getCount());
		System.out.println(catCount);

	}

}
package static_method;

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 static int getCount() { // 스테틱 메소드는 인스턴스 변수 사용불가
//		String n = name; 인스턴스 변수 사용불가
		return count;
	}
	
	@Override
	public String toString() {
		return String.format("Cat id: %d, name: %s", id, name);
	} // 이름만 다르지 printf랑 똑같아요 id는 %d에 들어가고 name에는 %s가 들어감 

	
}

0개의 댓글

관련 채용 정보