구조


스택과 큐 자료 구조

static 변수
package static1;
public class Data3 {
public String name;
public static int count; //static
//생성자
public Data3(String name) {
this.name = name;
count++;
}
}
package static1;
public class DataCountMain3 {
public static void main(String[] args) {
Data3 data1 = new Data3("A");
System.out.println("A count=" + Data3.count);
Data3 data2 = new Data3("B");
System.out.println("B count=" + Data3.count);
Data3 data3 = new Data3("C");
System.out.println("C count=" + Data3.count);
}
}
A count=1 B count=2 C count=3


주의
멤버 메서드의 종류 1. 인스턴스 메서드
: static 이 붙지 않은 멤버 메서드
:인스턴스를 생성해야 사용할 수 있고, 인스턴스에 소속되어 있다. 2. 클래스 메서드(=static메서드, 정적 메서드,) : static 이 붙은 멤버 메서드 :인스턴스와 무관하게 클래스에 바로 접근해서 사용할 수 있고, 클래스 자체에 소속되어 있다.

예시
아래의 코드에서 오류가 뜨는 이유는 인스턴스 메서드를 static메서드 호출하는 방법으로 호출하고 잇었기 때문. 그래서 showTotalCars() 를 static 메서드로 바꾸어 주면 오류가 사라진
