λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
JAVA/기본 이둠

2. λ³€μˆ˜(Variable)와 ν• λ‹Ή(Assign)

by 🐳 Laboon 2024. 1. 2.

λ³€μˆ˜λž€ λ¬΄μ—‡μΌκΉŒμš”? μˆ˜ν•™μ μœΌλ‘œ 봀을 λ•Œ, λ―Έμ§€μˆ˜λΌκ³  λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

μˆ˜ν•™μ—μ„œλŠ” 주둜 x, y와 같은 λ―Έμ§€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ μ»΄ν“¨ν„°μ—μ„œλŠ” λͺ‡ λͺ‡ ν‘œν˜„μ„ μ œμ™Έν•œ λͺ¨λ“  ν‘œν˜„μ΄ λ―Έμ§€μˆ˜κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

내이름, myName, myNickName, myNickName2, Hi, ...

 

λ‹€λ§Œ ν”Όν•΄μ•Όν•  것이 μžˆμŠ΅λ‹ˆλ‹€.

첫 λ¬ΈμžλŠ” '_', '$', '문자'둜 μ‹œμž‘ν•΄μ•Όν•œλ‹€.
μ˜ˆμ•½μ–΄λŠ” ν”Όν•΄μ•Όν•œλ‹€.
곡백을 ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

μœ„ λ‚΄μš©λ“€μ΄ λ³€μˆ˜μ— λŒ€ν•œ κΈ°λ³Έ ν‹€μž…λ‹ˆλ‹€.

별거 μ—†λ‹€κ³  μƒκ°ν•˜μ‹€ 수 μžˆμ§€λ§Œ, 더 μ€‘μš”ν•œ λ‚΄μš©μ€ μ§€κΈˆλΆ€ν„° μ‹œμž‘μž…λ‹ˆλ‹€.

 

μ•žμ„œ, μˆ˜ν•™μ μΈ κ΄€μ μ—μ„œ λ³€μˆ˜λ₯Ό λ―Έμ§€μˆ˜λ‘œ 생각할 수 μžˆλ‹€κ³  ν–ˆμ§€λ§Œ μ—„λ°€νžˆ λ§ν•˜μžλ©΄ λ³€μˆ˜ β‰  λ―Έμ§€μˆ˜ μž…λ‹ˆλ‹€.

λ―Έμ§€μˆ˜λŠ” x = 10 μ΄λΌλŠ” μ˜λ―Έκ°€ xλŠ” 10이닀. 라고 해석할 수 있죠?

λ³€μˆ˜λŠ” x = 10 μ΄λΌλŠ” μ˜λ―Έκ°€ x에 10을 μ €μž₯해라. 라고 해석할 수 μžˆμŠ΅λ‹ˆλ‹€.

μˆ˜ν•™μ μΈ κ΄€μ μ—μ„œλŠ” μš°λ¦¬κ°€ λ―Έμ§€μˆ˜μ— 값을 'μ •μ˜'ν•˜κ²Œ λ˜λŠ”λ° μ»΄ν“¨νŒ… κ΄€μ μ—μ„œλŠ” μš°λ¦¬κ°€ 컴퓨터에 'λͺ…λ Ή'을 ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

μˆ˜λ§Žμ€ λͺ…λ Ή 방법 쀑 ν•˜λ‚˜κ°€ λ³€μˆ˜μΈλ° μ»΄ν“¨ν„°μ—μ„œ λ³€μˆ˜λŠ” 'Symbol Table'을 μ΄μš©ν•΄μ„œ μ‹λ³„ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ λ³€μˆ˜ 이름을 'μ‹λ³„μž'라고도 ν•©λ‹ˆλ‹€.

 

ex) x = 10, name = "dot" λΌλŠ” 정보λ₯Ό κ°€μ§„ Symbol Table

Symbol (λ³€μˆ˜ 이름) Value (κ°’)
x 0x00000004
name 0x00000008

 

μš°λ¦¬κ°€ μƒκ°ν•œ ν…Œμ΄λΈ”μ€ x의 κ°’μœΌλ‘œ 10, name의 κ°’μœΌλ‘œ "dot"κ°€ μ €μž₯λ˜μ–΄μ•Ό ν•˜λŠ”λ° μ΄μƒν•œ 값이 μ €μž₯λ˜μ–΄ 있죠?

이것은 ν”„λ‘œκ·Έλž¨ λ‚΄ ν•΄λ‹Ή λ³€μˆ˜μ˜ μƒλŒ€μ μΈ μœ„μΉ˜μž…λ‹ˆλ‹€. μ‹€μ œλ‘œ λ³€μˆ˜λŠ” 값이 μ €μž₯λ˜μ–΄μ•Ό ν•  λ©”λͺ¨λ¦¬ μƒμ˜ μœ„μΉ˜(μ£Όμ†Œ)λ₯Ό κ°€λ₯΄ν‚€κ³  있고 μš°λ¦¬κ°€ μ»΄ν“¨ν„°μ—κ²Œ x = 10μ΄λΌλŠ” λͺ…령을 ν•˜κ²Œ λœλ‹€λ©΄ ν•΄λ‹Ή λ³€μˆ˜κ°€ κ°€λ₯΄ν‚€λŠ” μ£Όμ†Œμ— 값을 μ €μž₯ν•˜λΌλŠ” λͺ…령이 λ©λ‹ˆλ‹€. 이것을 'ν• λ‹Ή(Assign)'이라고 ν•˜λŠ”λ°μš”.

 

μ΄λ ‡κ²Œ λ³€μˆ˜(Variable)와 ν• λ‹Ή(Assign)에 λŒ€ν•΄μ„œ μ•Œκ²Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λ³€μˆ˜μ˜ μ’…λ₯˜

1. μ§€μ—­ λ³€μˆ˜(Local variable)

2. 클래슀 λ³€μˆ˜(Class variable)

3. μΈμŠ€ν„΄μŠ€ λ³€μˆ˜(Instance variable)

4. 맀개 λ³€μˆ˜(Parameter)

μžλ°”μ—μ„œμ˜ 기본적인 λ³€μˆ˜μ˜ λ„€ μ’…λ₯˜μž…λ‹ˆλ‹€. 이후에 각 μ±•ν„°μ—μ„œ λ‹€λ£¨κ² μŠ΅λ‹ˆλ‹€.

μš°λ¦¬κ°€ 주둜 μ•Œκ³  μžˆλŠ” 것은 μ§€μ—­ λ³€μˆ˜λΌκ³  보면 λ˜κ² μŠ΅λ‹ˆλ‹€.

 

λ…Έμ…˜ 정리 : https://www.notion.so/24jihwan/3-6f4b9f60a7f04e8da68b9cac9fdd6083

 

3λŒ€ μš”μ†Œ | Notion

λ³€μˆ˜(Varialbe), μžλ£Œν˜•(DataType), ν• λ‹Ή(Assign)

24jihwan.notion.site