Untitled

package myspace4;

public class Car {
	private String CarName;
	// CarCount가 static인 이유는 
	//1.공유되어야 하는 값 
	//2.인스턴스변수면 각인스턴스가 호출될때 마다 새로운 CarCount가 생성되어 본래의 목적에 맞지 않음
	//3.사용하는 메서드가 정적메서드임. 메세드 내부에서는 정적변수만 접근할 수 있음
	private static int CarCount;  
	//생성자
	Car(String CarName) {
		this.CarName = CarName;
		System.out.println("차량구입, 이름:" + CarName);
		CarCount++;
	}
	//구매한 차량수를 보여주는 메서드
	//메인에서 클래스 자체에 접근하는 방식으로 
	//즉, 정적메서드(static메서드)를 호출하는 방식으로 호출중이라 stsicㅇ를 붙여줘야 한다
	static void showTotalCars(){ 
		System.out.println("구매한 차량 수:" + CarCount);
	}
	
}
package myspace4;

public class CarMain {

	public static void main(String[] args) {
		 Car car1 = new Car("K3");
		 Car car2 = new Car("G80");
		 Car car3 = new Car("Model Y");
		 
		//구매한 차량 수를 출력하는 static 메서드
		 Car.showTotalCars(); 

	}

}

Untitled