[JAVA] static과 heap

Dec 13, 2023
[JAVA] static과 heap
💡
stack - 정적으로 할당된 메모리 영역이다. static을 통해 할당 heap - 동적으로 할당된 메모리 영역이다.
 

1. Static (Stack)

static 예제
class Person1{ static int age = 20; static char gender = '여'; } public class MemEx01 { // *memory 약자 public static void main(String[] args) { System.out.println(Person1.age); System.out.println(Person1.gender); } }
다른 class의 변수를 불러올 수 있다.
main이 실행되기 이전에 변수나 메서드를 메모리에 적재시킬 수 있다. (정적)
static이라는 키워드를 사용하여 stack 메모리 영역에 데이터를 할당 시킨다.
 

2. Heap

heap 영역을 찾을 때는 class로 찾지 못한다. 변수를 선언해야 한다.
class Person2{ int age = 10; char gender = '남'; } public class MemEx02 { public static void main(String[] args) { System.out.println("1 year later"); System.out.println("2 years later"); System.out.println("3 years later"); Person2 p2 = new Person2(); // p2 변수 선언 System.out.println(p2.age); // p2 사용 System.out.println(p2.gender); System.out.println("메인 종료"); } }
p2 변수를 선언해야 Person2 class에서 선언한 값을 사용할 수 있다.
 
 
Share article

MiracleCoding