์ ๊ทผ์ ํ์๋, ๋ณ์ ๋ฐ ๊ฐ์ฒด(class, interface) ์์ ์ ์ธํจ์ผ๋ก์จ ์ธ๋ถ ์ฝ๋์์ ์ ๊ทผ ๋ฒ์๋ฅผ ํต์ ํ๋ค. ์ฝ๊ฒ ๋งํ๋ฉด, ๊ฐ์ฒด์ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ํ์ฉํ ์ง ๋ง์ง ์ง์ ํด ์ค๋ค.
์ข ๋ฅ | ๊ธฐ๋ฅ |
public | ํจํค์ง ์๊ด ์์ด ๋ชจ๋ ์ธ๋ถ ์ฝ๋์์ ์ ๊ทผ ๊ฐ๋ฅ |
private | ์ธ๋ถ์์ ํด๋์ค ๋ณ์์ ์ง์ ์ ๊ทผํ ์ ์๊ณ , ํด๋์ค์ ๋ฉ์๋๋ฅผ ํตํด์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ, ์์๋ฐ์ ํด๋์ค์์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅ |
protected | ๋์ผํ ํจํค์ง์ ํด๋์ค๋ค๊ณผ ์์๋ฐ์ ํด๋์ค์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ |
default | ๋์ผํ ํจํค์ง ๋ด์ ํด๋์ค๋ค๋ง ์ ๊ทผ ๊ฐ๋ฅ, ํค์๋๋ ์๋ต ๊ฐ๋ฅ |
public static void (String[] args) { ...
์ ๊ทผ์ ํ์๊ฐ ๋ค์ด๊ฐ๋ ์๋ฆฌ์ด๋ค.
ํด๋์ค๋ public ํด๋์ค์ default ํด๋์ค๊ฐ ์๋๋ฐ, default๋ ๊ฑฐ์ ์๋ตํ๊ณ ์ด๋ค. public์ ํจํค์ง์ ์๊ด์์ด ๋ชจ๋ ํด๋์ค์์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
public static void (String[] args) { ...
๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ํ๋ธ๋ค.
static์ด ์ ์ธ๋๋ฉด ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๊ณ , heap๋ก ์ ์ธํ๋ฉด ์ฐ์ฐ์ด ์คํ๋๋ ์๊ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ค. ๊ทธ๋ฆฌ๊ณ heap์์ญ์ Garbage Collector์ ์ํด ์ ๋ฆฌ๊ฐ ๋๋๋ฐ, ๊ทธ๋์ main ๋ฉ์๋๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ด๋ฏ๋ก garbage collector์ ์ํด ์ ๋ฆฌ๋์ง ์๋๋ก ํญ์ static์ ์ ์ธํด์ค์ผ ํ๋ค.
public static void (String[] args) { ...
๋ฉ์๋๊ฐ ์ข
๋ฃ๋ ๋์ ๋ฆฌํด ํ์
์ ๋ํ๋ธ๋ค.
๋ฆฌํด๊ฐ์ด ์์ผ๋ฉด void๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฆฌํด๊ฐ์ ๋ฐ๋ผ int, char ๋ฑ๋ ์ฌ์ฉํ๋ค.
๋ค๋ง, main ๋ฉ์๋์์๋ void๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. main ๋ฉ์๋๋ ์ข
๋ฃ๋๋ฉด ์ ๋๊ธฐ ๋๋ฌธ์ ๋ฆฌํด๊ฐ์ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
public static void (String[] args) { ...
args ๋ฌธ์์ด์ ๋ฐฐ์ด[]๋ก ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ๋ก, args๋ ๋จ์ํ ๋ณ์๋ช ์ด๋ค.
'๐ฅ๏ธ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Chapter04: ๋๋ง์๊ธฐ ๊ฒ์ (Word Chain) (0) | 2023.04.10 |
---|---|
[Java] final()๊ณผ public static final (0) | 2023.04.09 |
[Java] Garbage์ Garbage Collection ์ดํดํ๊ธฐ (0) | 2023.04.06 |
[Java] ๋๊ธฐ ์ฒ๋ฆฌ(Synchronization) / ๋น๋๊ธฐ ์ฒ๋ฆฌ(Asynchronization) (0) | 2023.03.22 |
[Java] Generic ๊ธฐ๋ฒ (0) | 2023.03.22 |