static과 final의 차이
자바에서 static 키워드는 클래스 레벨의 변수나 메소드, 블록을 정의할 때 사용됩니다. 이는 인스턴스 생성 없이도 접근 가능하며, 모든 인스턴스에서 공유됩니다. static 변수는 프로그램이 시작할 때 메모리에 할당되고 프로그램이 종료될 때까지 유지됩니다.
왜냐하면 static 멤버는 클래스가 로드될 때 메모리의 메소드 영역에 할당되기 때문입니다. 이는 모든 인스턴스가 공유하는 특성 때문에 유용하게 사용될 수 있습니다. 예를 들어, 어떤 클래스의 인스턴스들이 공통적으로 사용해야 하는 값을 static 변수로 선언할 수 있습니다.
하지만, static 키워드의 남용은 객체지향 프로그래밍의 원칙과 상반되며, 메모리 사용량 증가로 이어질 수 있습니다. 따라서 static 멤버의 사용은 신중하게 결정해야 합니다.
왜냐하면 static 멤버는 프로그램 종료 시까지 메모리에 남아 있어, 과도한 static 사용은 메모리 누수의 원인이 될 수 있기 때문입니다. 이는 특히 대규모 애플리케이션에서 성능 저하의 원인이 될 수 있습니다.
이 글에서는 static 키워드의 기본적인 사용법과 주의점, 그리고 효과적인 사용 사례에 대해 알아보겠습니다.
private,public,non
Map<> Collection<>