Java 프로그래밍 06 : static
·
프로그래밍 언어/자바(Java)
static이라는 키워드는 유명하다. 나는 이 키워드를 주로 알고리즘을 풀 때 사용했는데, 해당 프로그램에서 전역 변수로 선언하여, 재귀 함수를 비롯한 main을 제외한 함수에서 사용하기 위해 static 변수를 썼었다. 사실 나에게 있어 static 변수는 '메모리에 적재되어 프로그램 종료까지 사라지지 않는 변수' 정도로만 인식되었다. 그런데, static 챕터 강의를 듣다보니 클래스 내에서 static으로 선언된 변수는 서로 다른 객체에서도 공유한다는 것을 알게 되었다. 클래스로 만들어진 인스턴스, 그러니까 객체라는 건 메모리 상에 다른 주소에 저장이 될 텐데 어떻게 static 변수가 공유가 된다는 걸까? 이번 포스트에서는 그걸 알아보려고 한다. 그 전에, 우선 static 키워드에 대해 다시 한 ..