Heap

Dec 14, 2023
Heap
πŸ’‘
λ™μ μœΌλ‘œ ν• λ‹Ήλœ λ©”λͺ¨λ¦¬ μ˜μ—­
 
μ»΄ν“¨ν„°μ˜ λ©”λͺ¨λ¦¬λŠ” ν•œμ •μ μ΄λ‹€.
λ”°λΌμ„œ static 처럼 ν”„λ‘œμ„ΈμŠ€ ν•˜λŠ” 전체에 μž‘λ™ν•˜κ²Œ 되면 계속 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ—
ν•„μš”ν•œ μ‹œμ μ—λ§Œ μ‚¬μš©λ˜λŠ” 것이 ν•„μš”ν•˜λ‹€.
 
 
public class test { public static void main(String[] args) { System.out.println("1λ…„ 지남"); System.out.println("2λ…„ 지남"); System.out.println("3λ…„ 지남"); System.out.println("메인 μ’…λ£Œ"); } }
이런 μ½”λ“œλ₯Ό λ§Œλ“€μ—ˆλ‹€ . 이전 static μ—μ„œ ν–ˆλ˜ λ‚΄μš©μ˜ λ³€ν˜•μ΄λ‹€.
 
 
notion image
 
 
이런 κ°’μœΌλ‘œ 좜λ ₯이 λ˜λŠ”λ° β€˜3λ…„ 지남’ κ³Ό β€˜ 메인 μ’…λ£Œβ€™ μ‚¬μ΄μ—λ§Œ 값을 좜λ ₯ν•˜κ³  싢은데
static 을 ν™œμš©νžˆλ©΄ ν”„λ‘œμ„ΈμŠ€ λ™μ•ˆ 계속 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ— heap 을 ν™œμš©ν•΄λ³΄μž.
class Person2 { int age = 10; char gender = '남'; }
 
메인 곡간 μ΄μ™Έμ˜ 곡간에 Person2 λΌλŠ” μ»€μŠ€ν…€ μžλ£Œν˜•μ„ λ§Œλ“€μ—ˆλ‹€.
 
객체 생성 : 클래슀λͺ… + λ³€μˆ˜λͺ… = new 클래슀λͺ…() ;
Person2 p = new Person2();
 
heap을 μ΄μš©ν•˜κΈ° μœ„ν•΄ new λ₯Ό μ‚¬μš©ν•œλ‹€.
 
μ»€μŠ€ν…€ μžλ£Œν˜• Person2 에 μƒˆλ‘œμš΄ λ³€μˆ˜ pλ₯Ό μ„ μ–Έν•œλ‹€.
 
Person2 p = new Person2() ;
그리고 λ³€μˆ˜ age 와 gender 값은 메인이 μ•„λ‹Œ Person2 에 있기 λ•Œλ¬Έμ—
p.age p.gender 을 μ‚¬μš©ν•΄ 값을 좜λ ₯ν•œλ‹€.
 
class Person2 { // μ»€μŠ€ν…€ μžλ£Œν˜• / λ‚΄κ°€ λ§Œλ“  μžλ£Œν˜• int age = 10; char gender = '남'; } public class MemEx02 { public static void main(String[] args) { System.out.println("1λ…„ 지남"); System.out.println("2λ…„ 지남"); System.out.println("3λ…„ 지남"); Person2 p = new Person2(); // newλ₯Ό 뢙이면 μ›ν•˜λŠ” μ‹œμ μ— λ„μšΈ 수 있음, heap 은 class에 적은 이름이 μžλ£Œν˜•, λ³€μˆ˜ System.out.println(p.age); System.out.println(p.gender); System.out.println("메인 μ’…λ£Œ"); }
 
 
notion image
 
 
 
 
 
Share article

{CODE-RYU};