현재 버전

간단한 로컬변수 질문이 있어요.



	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐...


자세하게 말씀드리면,

static으로 선언하지 않았기 때문에, 컴파일과정에서는 Stack에 잡히지 않고,

실행하고 method()가 실행됬을 때,

String의 인스턴스인 str이 Stack 메모리에 잡혔지만

null이 저장되어있어서 아직 Heap의 객체를 가리키고 있지않다.


제가 잘못알고있나해서요...


저렇게만 선언해도 분명 실행시 메소드호출하면 

null이 저장될 str변수가 Stack메모리에 분명 잡히는걸로 알고있어요.




수정 이력

2019-04-05 13:38:53 에 아래 내용에서 변경 됨 #4


	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐...


자세하게 말씀드리면,

static으로 선언하지 않았기 때문에, 컴파일과정에서는 Stack에 잡히지 않고,

실행하고 method()가 실행됬을 때,

String의 인스턴스인 str이 Stack 메모리에 잡혔지만

null이 저장되어있어서 아직 Heap의 객체를 가리키고 있지않다.


제가 잘못알고있나해서요...


저렇게만 선언해도 분명 실행시 메소드호출하면 

null이 저장될 str변수가 Stack메모리에 분명 잡히는걸로 알고있어요.

2019-04-05 13:36:22 에 아래 내용에서 변경 됨 #3


	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐,


static으로 선언하지 않았기 때문에, 컴파일과정에서는 Stack에 잡히지 않고,

실행하고 method()가 실행됬을 때,

String의 인스턴스인 str이 Stack 메모리에 잡혔지만

null이 저장되어있어서 아직 Heap의 객체를 가리키고 있지않다.


이렇게 설명해야 옳은거 아닌가요?
제가 잘못알고있나해서요...


저렇게만 선언해도 분명 실행시 메소드호출하면 

null이 저장될 str변수가 Stack메모리에 분명 잡히는걸로 알고있어요.

2019-04-05 13:35:53 에 아래 내용에서 변경 됨 #2


	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐,


static으로 선언하지 않았기 때문에, 컴파일과정에서는 Stack에 잡히지 않고,

실행하고 method()가 실행됬을 때,

String의 인스턴스인 str이 Stack 메모리에 잡혔지만

null이 저장되어있어서 아직 Heap의 객체를 가리키고 있지않다.


이렇게 설명해야 옳은거 아닌가요?
제가 잘못알고있나해서요...

2019-04-05 13:34:49 에 아래 내용에서 변경 됨 #1


	public void method()
	{
		String str = null;
	}


이렇게만 해도,

Stack에 str의 메모리 잡히지않아요?

저 안에 아직 아무도 가르키지 않아서 안에 null이 저장되어있을 뿐,

null을 저장할 str변수는 Stack Memory에 잡히지않나요?;;


제가 잘못알고있나요 혹시?