Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리스트 모달창
- AOP란?
- order by
- 싱클톤패턴
- 다중 모달창
- Java
- 깃 명령어
- 스프링 모달창
- react
- static 예제
- static메서드
- 템플릿
- 오라클 비교연산자
- 이클립스 오라클 연동
- 사용자 데이터그램 프로토콜
- SUB Query
- 추상 메서드
- 상속
- 형변환
- 다운캐스팅
- GROUP BY
- singleton
- spring annotation
- downcasting
- IP
- 모달창 여러개
- 객체협력
- oracle 연동
- Servlet 맵핑
- static
Archives
- Today
- Total
모든지 기록하자!
[Java] 변수의 유효 범위 (scope) 본문
728x90
1. 지역변수( 로컬 변수, local variable)
지역변수는 함수나 메서드 내부에 선언하기 때문에 함수나 메서드 안에서만 사용할 수 있다.
지역 변수가 생성되는 메모리를 스택(stack)이라고 한다. 스택에 생성되는 지역 변수는 함수가 호출될 때 생성되었다가 함수가 반환되면 할당되었던 메모리 공간이 해제되면서 같이 없어진다.
2. 멤버 변수( 인스턴스 변수, instance variable)
클래스가 생성될 때 힙(heap) 메모리에 생성되는 변수 멤버 변수는 클래스의 어느 메서드에서나 사용할 수 있다. 힙에 생성된 인스턴스가 가비지 콜렉터(garbage collertor)에 수거되면 메모리에서 사라진다.
클래스 내부의 여러 메서드에서 사용할 변수는 멤버 변수로 선언하는 것이 좋다.
3. static변수( 클래스 변수, class variable)
인스턴스 변수는 객체가 생성되는 문장 , new가 되어야 생성되지만 static변수는 클래스의 생성과 관계없이 처음부터 데이터 영역 메모리에 생성된다. 따라서 인스턴스 변수와 static변수는 사용하는 메모리가 다르다. static변수는 private가 아니라면 클래스 외부에서도 객체 생성과 무관하게 사용할 수 있다.
프로그램 실행이 끝난 뒤 메모리에서 내려가면 static변수도 소멸된다.
변수는 특성에 맞게 선언해서 사용하는 것이 중요하다. 용도에 따라 변수 유형을 명확히 정해서 효율적으로 프로그래밍 하자!
728x90
'Java' 카테고리의 다른 글
[Java] Array List 클래스 (0) | 2021.05.14 |
---|---|
[Java] 객체 간 협력 예제 ( static ) (0) | 2021.05.14 |
[Java] singleton 패턴 (0) | 2021.05.13 |
[Java] 암호화 / 복호화 (0) | 2021.05.13 |
[Java] 배열을 이용한 예제( 1차원배열의 합, 2차원배열의 합, 잔돈구하기) (0) | 2021.05.12 |
Comments