FIF's 코딩팩토리

패스트캠퍼스 챌린지 24일차 본문

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 24일차

FIF 2022. 2. 16. 21:55
반응형

여러 인스턴스에서 공통으로 사용하는 변수 - static 변수

 

new 키워드를 통해 생성된 인스턴스는 heap 메모리에 만들어진다.

그 후, 인스턴스의 사용이 끝나면 garbage collector를 통해 자동으로 메모리에서 삭제된다.(자바의 최대 장점중 하나)

그렇다면 static 변수란 무엇인가? 사전적 의미로는 정적인 이라는 뜻이 있다.

자바에서 static이 붙은 변수는 선언되자마자 메모리에 우선순위로 만들어 지게 된다.

이때 static 메모리 영역에 저장된다.

new키워드를 통해 만들어진 인스턴스와는 반대로 static이 붙으면 사용이 끝나도 메모리에 항상 남아있다.

자바에서 main 메서드를 최우선적으로 탐색하는 이유도 main 메서드 앞에 static이 붙기 때문이다.

 

자 그렇다면 공통으로 사용하는 변수가 필요한 경우를 좀 더 알아보자.

1. 여러 인스턴스가 공유하는 기준 값이 필요한 경우

2. 저번예제에서 학생마다 새로운 학번 생성이 필요한 경우

3. 카드 회사에서 카드를 새로 발급할 때마다 새로운 카드 번호를 부여할 경우

4. 회사에 사원이 입사할 때 마다 새로운 사번이 필요한 경우

 

등등이 있을 수 있다. 이렇듯 static 변수는 인스턴스들이 공유를 하고 있다.

 

그럼 static 변수를 선언하고 사용하려면 어떻게 해야할까?

1. 인스턴스가 생성될 때 만들어지는 변수가 아닌, 처음 프로그램이 메모리에 로딩되는 순간 부터 메모리를 할당 받음

2. 클래스 변수, 정적 변수라고도 함(vs 인스턴스 변수)

3. 인스턴스 생성과 상관 없이 사용 가능하므로 클래스 이름으로 직접 참조

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

반응형
Comments