728x90 자바메모리구조2 [JAVA] Java의 상수(Constant) 선언 시 static final을 쓰는 이유는? 메모리와 불변성 자바(Java) 프로그램을 개발하다 보면 변하지 않는 고정된 값, 즉 상수(Constant)를 정의하게 됩니다. 이때 관습적으로 사용하는 키워드가 바로 static final입니다. 단순히 "상수는 이렇게 쓰는 것이다"라고 외우기보다는, 왜 이 두 키워드가 조합되어야만 진정한 의미의 상수가 완성되는지 메모리 구조와 설계 철학의 관점에서 깊이 있게 분석해 보겠습니다.1. final 키워드의 역할: "수정 불가(Immutable)"먼저 final은 해당 변수의 값을 단 한 번만 할당할 수 있게 만듭니다. 즉, 한 번 결정된 값이 프로그램 실행 도중에 바뀌지 않도록 보장하는 역할입니다.데이터의 안정성: 실수로 값을 변경하는 로직을 작성하면 컴파일러가 에러를 발생시켜 버그를 사전에 차단합니다.의도의 명확성: 코.. 2026. 1. 16. [JAVA] Java의 main 메서드가 public static void인 이유는? JVM의 동작 원리 자바(Java) 프로그램을 작성할 때 가장 먼저 타이핑하게 되는 문장, 바로 public static void main(String[] args)입니다. 입문자들에게는 마치 '주문'처럼 여겨지는 이 한 줄에는 사실 자바 가상 머신(JVM)의 설계 철학과 객체지향의 원칙이 고스란히 담겨 있습니다. 왜 자바의 시작점은 반드시 이 형식을 갖춰야만 하는지, 각 키워드에 담긴 독창적인 기술적 배경을 파헤쳐 보겠습니다.1. 프로그램의 입구: 진입점(Entry Point)의 약속컴퓨터가 프로그램을 실행하려면 "어디서부터 시작해야 하는가?"라는 정보가 필요합니다. JVM은 실행 명령을 받으면 해당 클래스 내에서 정확히 main이라는 이름을 가진 메서드를 찾도록 설계되어 있습니다. 이는 전 세계 자바 개발자들과 JVM .. 2026. 1. 14. 이전 1 다음 728x90