
static 키워드는 클래스 단위로 관리 되는 요소인다. 인스턴스에 귀속되지 않고 클래스 자체에 귀속된다. static 변수는 프로그램이 시작할때 메모리에 할당되고 프로그램이 종료될 때까지 유지된다. 클래스가 로드될때 메모리의 메소드 영역에 할당되기 때문이다.하지만 남용해서 사용하게 된다면 객체지향 프로그래밍의 원칙과 상반되고(객체 보다는 기능 중심으로 설계가된다는 의미), 메모리 사용량 증가로 이어질 수 있다. 그래서사용할때 신중하게 결정해야한다. static 변수는 클래스 레벨에서 선언되고, 모든 인스턴스에 의해 공유된다. 인스턴스화 없이 클래스 이름을 통해 직접 호출할수있다. public class MathUtils { public static int add(int a, int b) { ..