Java의 final과 static: '불변'과 '공유'의 미학 (feat. JVM 메모리 구조)final과 static. 두 키워드는 문법의 가장 기초적인 부분이지만, 그 역할과 동작 원리를 깊이 이해하는 것은 견고한 코드를 작성하는 핵심입니다.final은 **"한 번만 할당할 수 있다"**는 불변의 약속입니다.static은 **"인스턴스가 아닌 클래스에 속한다"**는 공유의 개념입니다.이 글에서는 final과 static의 각기 다른 역할을 코드와 함께 살펴보고, 더 나아가 이들이 JVM 메모리의 어느 공간에 위치하며 동작하는지 심층적으로 알아보겠습니다.1. final - "변경될 수 없는 마지막 값"final 키워드는 "최종적인", "변경될 수 없는" 이라는 의미를 가집니다. 변수, 메소드, 클래스..