본인은 금붕어🐠(금붕어 이모지 없네ㅜ)라서 다 까먹기 때문에 기초부터 정리할 예정이다.
하나의 값을 담는 메모리
1. 기본형 변수(Primitive Type)
boolean(논리형) char(문자형) byte(정수형) short(정수형) int(정수형) long(정수형) float(실수형) double(실수형)
2.참조형 변수(reference type)
String
public class vars
{
static int staticVar; //-> 클래스 변수
int instanceVar; // -> 멤버변수
public static void local()
{
int localVar; // -> 지역변수
}
}
public static void main(String[] args) {
vars v = new vars();
v.staticVar = 5;
}
1. 멤버변수(힙 메모리) = 인스턴스 변수
✔ 클래스 내부에서 사용 ✔ 인스턴스 생성시 부터 가비지 컬렉터(Garbage Collector)가 수거하면 소거됨 ✔ 인스턴스 생성시 만들어지며 인스턴스 생성이 필수. ✔ 각 인스턴스 마다 다른 값을 가져야 할때 사용
2. 클래스 변수(데이터 영역) = static 변수
✔ 클래스 내부에서 사용 ✔ 인스턴스 변수 앞에 static예약어를 붙인다. ✔ 정적변수와 동일 ✔ 프로그램이 처음 시작할때 생성되고 프로그램 끝나면 메모리를 해제할 때 소멸. (= 바로사용가능)
3. 지역 변수(스택 메모리)
✔ 메소드 내에 선언 되며 메소드 호출 시 생성되고 메소드 종료시 소멸된다. ✔ 함수 내부에서 사용
+매개변수
✔ 파라미터라고도 한다. ✔ 매개변수도 매소드 내에 선언된 것으로 지역 변수 이다. ✔ 인자 값은 호출 시 메소드 입력부분에 넣는 값이며 이 값은 매개변수에 복사되어 대입된다.
public class Main { int myMethod(int x, int y) { return x + y; } //(int x, int y) 부분이 매개변수 }
아무도 안보겠디만..hoxy 틀린 부분 있으면 알려주세욧(찡긋😉)