개발자 항해

static - static 변수와 메서드1 본문

Programming/Java

static - static 변수와 메서드1

리치Y 2022. 6. 22. 23:37
  • static ?

  정적(고정된)이라는 의미를 갖고 있고 사용시 인스턴스 생성과 관계없이

클래스가 로딩되는 시점에 함께 메모리에 로딩된다.

 이는 인스턴스 생성없이도 접근가능함을 의미한다(=클래스명만으로 접근 가능)

클래스, 메서드, 변수의 지정자로 사용가능하다.

 

참고) 자바 프로그램 실행 과정

1. 소스코드 작성 및 컴파일 후 클래스 실행 (ctrl +F11)

2.  클래스 로딩 - 클래스(정적,static) 멤버변수 및 메서드가 메모리에 로딩

3.  main()메서드 호출

4. 인스턴스 생성 - 인스턴스 멤버변수,메서드가 메모리에 로딩

5. 메서드 호출 - 메서드 내의 로컬변수가 메모리에 로딩

6. 결과 출력

 

일반 메소드와 static 메소드를 만들었다.
일반 메소드와 static메소드 사용방법이 다르다. 이유는 로딩시점이 다르기때문!
데이터영역 메모리에 로딩된 static변수를 각각 다른 인스턴스 공유하는지 알아보았다
결과 값을 보니 static 변수는 공유되었다.

'Programming > Java' 카테고리의 다른 글

상속(Inheritance)  (0) 2022.06.24
static - static 변수와 메서드2(+활용예)  (0) 2022.06.23
로컬변수와 멤버변수  (0) 2022.06.22
생성자 오버로드  (0) 2022.06.21
인스턴스  (0) 2022.06.21