여러 개의 객체가 생성될 때 단 하나만 생성 되며 모든 객체들이 공유하는 개념으로 사용되는 변수
public class StaticCount {
//인스턴스 변수
int c;
//static (클래스) 변수
static int count;
//생성자
public StaticCount() {
c++;
count++;
}
}
public class StaticMain01 {
public static void main(String[] args) {
StaticCount sc1 = new StaticCount();
System.out.println("c:" + sc1.c + ", count :" + StaticCount.count);
StaticCount sc2 = new StaticCount();
System.out.println("c:" + sc2.c + ", count :" + StaticCount.count);
StaticCount sc3 = new StaticCount();
System.out.println("c:" + sc3.c + ", count :" + StaticCount.count);
}
}
c:1, count :1
c:1, count :2
c:1, count :3
count값이 공유 되었기 때문에 증가되어 출력되었다
객체 생성과 무관하며 객체를 생성하지 않아도 메서드를 직접 호출할 수 있음
class tt {
static int sum(int a, int b) {
return a + b;
}
}
public class test {
public static void main(String[] args) {
//클래스명.함수명
System.out.println(tt.sum(2, 3));
}
}