728x90



예전부터 한번씩 왜그럴까 싶었는데 그냥 넘어갔던 점들이 요즘 갑자기 개념이 좀 잡히는 것같다.
변수를 선언해줄때 scope를 어디에 선언 하느냐, 어떤 값을 넣느냐에 따라 달라지는 게 왜 그럴까 싶었는데
생각해보니까 stack 과 heap 영역을 잘 이해를 못했던것같다.
int a = 10;
int a = 10; 이면 stack 자체에 10 이라는 값이 들어가고, heap은 사용자체를 하지않는데
Wrapper 타입이나 모든 객체(Object,List 등등)에는
Integer num = 10;
스택: num -> (0x1234) <- 주소(참조값)
힙: (0x1234) -> 실제 Integer 객체(값 10)
이런식으로 사용이 되더라.
스택에는 주소(참조값)
힙에는 실제 객체(데이터)
이런식으로 ...
int sum을 선언하고 for문 내부에서 sum을 불러서 값을 넣어줄때 sum의 값을 지속적으로 변경해주는 것이야
확실히 근본을 잘 알고 넘어가고 싶다
그래야 이해가 잘되고 응용이 가능한것같아!
728x90
'JAVA > Java 기초' 카테고리의 다른 글
| (오버로딩, 오버라이딩)참조 객체의 차이에 따른 정적, 동적 바인딩 ! (0) | 2025.12.14 |
|---|---|
| 3주차 JAVA 학습 인증 (오버로딩) (0) | 2025.12.09 |
| 1주차 JAVA 학습 인증 (논리연산자 사용하지 않는 else if문) (0) | 2025.11.24 |
| [도서후기] "나도 코딩의 자바 입문" - 간편하게 보기 좋은 개념서! (0) | 2025.11.21 |
| 데이터베이스 입출력-2(프로시저와 함수 호출).Java (0) | 2023.02.14 |