본문 바로가기
프로그래밍 언어/Java

Java) 변수의 범위와 static

by nomfang 2022. 1. 24.
728x90
반응형

https://github.com/lumpenop/java_variableTest01

변수의 범위

지역변수

  • method 내부에 선언 된 변수
  • 선언된 영역 내에서만 접근 가능
  • 지역변수는 사용 전 반드시 값 초기화를 해야한다
    int a = 0;

전역변수

  • class 내부에 선언된 변수
  • 모든 method에서 접근 가능
  • 지역변수와 전역변수 이름이 같은 경우 this.변수명 으로 전역변수를 선택 가능
  • 전역변수 앞에는 접근제한자(public, private 등) 사용 가능
  • 전역변수는 객체가 생성되는 시점에 자동 초기화가 된다
    정수형: 0, 실수형: 0.0, 문자형: '\u0000', 논리형: false, 객체형/String: null

static

class

class 앞에는 staitc이 올 수 없다 (inner class에는 사용 가능)

variable

  • 전역변수 앞에만 사용 가능
  • 객체생성 없이 외부에서 class.변수 호출 가능
  • static 변수는 같은 class들이 공유하는 공유 변수

method

static method에서는 일반 method의 호출이 불가하기 때문에

사용자 정의 함수를 main에서 호출 시 해당 class의 객체 변수를 생성하여

호출해야한다 (static 메모리 영역에 class객체를 불러와 사용하는 것)

  • 객체생성 없이 class.method 호출 가능
  • static method는 일반 호출 불가
  • static method만 호출 가능
  • this 키워드 사용 불가
    • 같은 lcass 내의 static method 호출 시 method 바로 호출

static은 static영역을 따로 갖기 때문에 영역 내에서 this 사용 불가 (this는 class 영역을 가르키기 때문)
class명.변수명, class명.method() 로 사용

static block

program 시작 시점에 환경구성 등을 미리 준비하는 것
- 환경세팅, 데이터초기화 및 로딩, DB연결, 점검사항 등을 확인

  • class 내부에 선언되어 main method보다 먼저 실행된다
  • method, 생성자 등의 영역 안에서는 선언 될 수 없다
static{
    기능 구현;
}
반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

Java) 자바 문서의 유형  (0) 2022.01.21
Java) method  (0) 2022.01.21
Java) 11/17 - Spring  (0) 2021.11.17
Java) 11/16 - Factory Method Pattern (Spring Framework MVC)  (0) 2021.11.16
Java) 11/15 - JSP/Servlet 정리  (0) 2021.11.15

댓글