개발 공부
클래스(필드) / ++ 변수 본문
변수의 구분 [ 전역변수(클래스,인스턴스) / 지역변수 ]
전역변수와 지역변수는 변수가 선언된 위치(구역)에 따라 구분 할 수 있다.
1.전역변수 = (필드)
선언위치 -클래스 영역 내 (메서드밖에 )선언되는 변수이며 어디서든 사용가능한 변수이다.
구분 방법 -전역변수에서 static이 붙은 변수는 클래스변수 붙지 않은 변수는 인스턴스변수(멤버변수) 이다.
1)인스턴스변수 -클래스 영역에 생성 해야하며 각각의 인스턴스마다 값을 가져야 할 때 사용한다
2)클래스변수 - 클래스 영역에 생성 하고 모든 인스턴스마다 공통된 값을 가질 때 사용한다.
- 즉 여러 인스턴스가 공유해서 사용할 수 있는 변수이다.
- static 키워드를 통해 선언할 수 있다.
메모리 생성(할당) - 클래스변수는 어디서든 사용가능한 변수이기 때문에 static영역
-인스턴스 변수는 new 연산자를 사용하여 객체를 생성하고 new를 만나는 순간 heap 영역에 생성된다.
2.지역변수
선언위치 -특정구역 ({}) 메서드내 위치한 변수
특징- 변수 선언 시 초기화 하지 않으면 컴파일에러가 발생한다.
매개변수도 지역변수에 포함되지만 메서드 호출시 값을 받아 올것이기 때문에 초기화 되어 있지 않아도된다.
메모리생성 - 함수(메서드) 호출시 stack 영역에 생성되며 함수종료시 변수의메모리 공간은 소멸 된다..
ex)

'JAVA > 배운 후' 카테고리의 다른 글
도서관리메뉴 실습(3) (0) | 2023.06.26 |
---|---|
클래스 (생성자) (0) | 2023.06.12 |
3.객체지향(캡슐화 / getter / setter) (0) | 2023.06.07 |
객체(object) (0) | 2023.06.07 |
2.객체지향 (추상화) (0) | 2023.06.05 |