본문 바로가기
Java

Java 문법 순서, 변수의 선언위치 및 순서(요약)

by karonano 2023. 3. 7.
728x90

- 1 -. java project나 project 로 생성된 프로젝트용 폴더

 

폴더자체를 생성하여 관리하는 것이 첫째일것이다.

 

 

- 2 -. Package

 

class와 interface 들의 묶음이며 폴더 디렉토리이다.

 

package 같은 경우에는 바로 클래스 생성하면

 

default package로써 생성된다.

 

-.3 - Import 문 

 

같은 패키지에 속하는 클래스들은 아무런 조건 없이 다른 클래스를 사용할 수 있지만, 다른 패키지에 속하는 클래스를 사용하려면 두 가지 방법 중 하나를 선택해야 한다.

 

 1. 패키지와 클래스를 작성해야 한다.

 2. import 문을 사용한다.

  - import 문은 자바 컴파일러에 코드에서 사용할 클래스의 패키지에 대한 정보를 미리 제공하는 역할을 합니다.

따라서 import 문을 사용하면 다른 패키지에 속한 클래스를 패키지 이름을 제외한 클래스 이름만으로 사용할 수 있게 됩니다.

 

(출처 : [Java] 자바의 패키지란? - package, import, 클래스패스, -classpath 옵션, CLASSPATH 환경변수, 접근지시자 (tistory.com) 

코딩의 시작, TCP School)

 

 

- 4 -  변수 

 

 

 

- 4-1 - 메인 변수

클래스의 모든 메소드에서 공유되는 변수입니다

클래스 변수 (static)

- static이 붙은 모든 변수

- 클래스내의 어디서든 사용이 가능하다 :: 공유가 자유롭다

- 인스턴스 없이 바로 사용할 수 있다 :: 클래스이름.클래스변수 

- 클래스가 메모리에 로딩될 때 생성되고, 프로그램 종료까지 유지된다

- 어디서 사용하든 해당 변수에 대해서는 전부 공통적인 값을 가지고 있다

- JVM내에 메소드 영역에 생성된다

>> 클래스 멤버(static)은 클래스 멤버만 호출 가능하다

 

--클래스 변수를 무조건 사용하지 말아야하는 이유

 

인스턴스 변수

- 클래스로부터 생성된 객체를 인스턴스 변수라 한다.

- 클래스의 인스턴스를 생성할 때 만들어진다

- 클래스 변수와 달리 각각의 변수는 독립적인 공간을 가진다

- JVM내에 힙 영역에 생성된다

>> 인스턴스 멤버는 인스턴스/클래스 멤버 둘다 호출 가능하다

 

멤버변수 초기화 시기/순서

  클래스 변수 인스턴스 변수
초기화 시점 클래스가 처음 로딩될 때 단 한번 초기화 인스턴스가 생성될 때마다 각 인스턴스별로 초기화
초기화 순서 1. 기본값
2. 명시적 초기화
3. 클래스 초기화 블럭
1. 기본값
2. 명시적 초기화
3. 인스턴스 초기화 블럭
4. 생성자



출처 : [Java] 변수의 선언위치 (tistory.com)


단순 정리 
멤버 변수를 제외한 나머지 변수들은 모두 지역 변수이며, 
멤버변수 중 static이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스 변수라고 합니다. 
출처 : [Java] 클래스 / 인스턴스 / 지역변수 쉽게 이해하기 :: 데니스의 놀이터 (tistory.com)

 



-4.2 지역변수 (메소드) -

지역변수

- 메소드 내에 선언되어서, 메소드 내에서만 사용이 가능하다

- 메소드가 종료되면 절대 사용할 수 없다

- JVM내에 스택 영역에 생성된다

 

출처 - [Java] 변수의 선언위치 (tistory.com)

[JAVA] 자바 클래스 변수와 클래스 메소드 ( Static ) (tistory.com)

[JAVA/자바] 메소드(method) 정의(선언 및 호출) : 네이버 블로그 (naver.com)