객체지향프로그래밍에서 static 변수와 non-static 변수는 중요한 개념이다. 두 가지는 사용 방법과 동작이 다르다.static 변수는 클래스에 속하며 클래스의 모든 인스턴스가 공유하는 변수다. static 변수는 클래스 수준에서 선언되고 클래스가 로드될 때 초기화되며 프로그램이 종료될 때까지 존재한다. 클래스의 모든 인스턴스가 동일한 static 변수를 공유하며, static 변수의 값을 변경하면 그 변경 사항이 클래스의 모든 인스턴스에 반영된다. static 변수는 한 번만 메모리에 할당되므로 메모리 사용량을 줄일 수 있다. static 변수는 클래스명.변수명 형식으로 접근하며 객체를 생성하지 않고도 접근할 수 있다.non-static 변수는 인스턴스 변수로, 각 인스턴스마다 별도로 존재하는 ..