Programming/Java

[JAVA] Static 이란?

Criming 2022. 8. 2. 12:58

Static 변수/메소드(정적 변수)

> static 선언한 클래스는 메모리에 바로 올려져 메인함수에서 객체생성 없이 바로 출력가능함.

즉, 메모리에 고정적으로 할당되어, 프로그램이 종료될 때 해제되는 변수 및 메소드

 

  • static 선언한 메서드는 객체 생성이 필요없는 "클래스 메서드"
  • static 선언하지 않은 메서드는 객체생성이 필요한 "인스턴스 메서드"

(예제1)

같은 패키지에 두개의 클래스 파일

- 한개의 클래스 파일에는 메서드 생성

- 나머지 한개의 클래스 파일에는 만든 메서드를 실행하기 위해 메인함수에 객체생성

같은 패키지(Practice01)에 두개의 클래스 파일(Ex15_Mai01, Ex15_Sub01)

(예제2)

클래스 파일에 두개 클래스 선언

- 한 파일에 2개이상에 클래스를 만들 수 있지만, 그 중 한개의 클래스에만 접근 제어자를 선언해야 한다.

- 같은 패키지에 동일한 클래스명을 만들 순 없다.

한개의 파일(Ex15_Mai01)에 두개 클래스 선언
 

클래스 = 변수+메서드의 집합체

클래스 영역 안에 선언된 변수 = 멤버변수

멤버변수 = 인스턴스변수 + 클래스변수(Static변수)