[์ถ์ฒ : ์ ํ ํฌ ์๋ฐ]
์๋ฐ ์์ค์ฝ๋์ ๊ตฌ์กฐ
/* ํด๋์ค ๋ธ๋ก */
public class ํด๋์ค๋ช
{
/* ๋ฉ์๋ ๋ธ๋ก */
[public|private|protected] [static] (๋ฆฌํด์๋ฃํ|void) ๋ฉ์๋๋ช
1(์
๋ ฅ์๋ฃํ ๋งค๊ฐ๋ณ์, ...) {
๋ช
๋ น๋ฌธ(statement);
...
}
/* ๋ฉ์๋ ๋ธ๋ก */
[public|private|protected] [static] (๋ฆฌํด์๋ฃํ|void) ๋ฉ์๋๋ช
2(์
๋ ฅ์๋ฃํ ๋งค๊ฐ๋ณ์, ...) {
๋ช
๋ น๋ฌธ(statement);
...
}
...
}
[ํด๋์ค ๋ธ๋ก]
ํด๋์ค ๋ช
์ ์์คํ์ผ์ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ ์ฌ์ฉํด์ผํ๋ค.
ํด๋์ค ๋ธ๋ก์์๋ ๊ท์น์ด ์๋ค.
์์1)
class MyProgram {
}
public class MyProgram2 {
}
[์ปดํ์ผ ์๋ฌ]
์์2)
public class MyProgram {
}
class MyProgram2 {
}
[์ ์ ์๋]
์ด๋ ๊ฒ ๋๋ ์ด์ ๋ ํ์ผ๋ช
(MyProgram.java) ๋๋ฌธ์ด๋ค. ํด๋์ค๋ช
์์ public ํค์๋๋ฅผ ์ถ๊ฐํ๋ฉด ๊ทธ ํด๋์ค์ ์ด๋ฆ์ ํ์ผ๋ช
๊ณผ ๋์ผํด์ผ๋ง ํ๋ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ
์ ์ด๋ฐ ๊ท์น์ ์ฌ์ฉํด์ผ ํ๋๊ฐ?
"์ ์์ค๊ณ ์ฌ๋ง์ด ๊ทธ๋ ๊ฒ ํ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ" (o๏พv๏พ)ใ
[์ถ์ฒ : ์คํ์ค๋ฒํ๋ก์ฐ์ ์ถ์ฒ ๋ค์์ ๋ต๋ณ]
์คํ์ค๋ฒํ๋ก์ฐ : ์ธ๊ณ์ ์ผ๋ก ์ ๋ช
ํ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ๋ก ๊ฐ๋ฐ ๊ด๋ จ ๊ฒ์๋ฌผ์ด 1์ด์ ์์ญ๊ฐ์ฉ ์์ฑ๋๊ณ ์๋ ๊ฐ๋ฐ์์๊ฒ ์์ด์๋ ์๋ ์ ์ฉํ ์ฌ์ดํธ
์ด๋ฌํ ๊ท์น์ฑ์ ํตํด ์์ค์ฝ๋๋ฅผ ์ฝ์ ๋ public ํค์๋๊ฐ ๋ถ์ด ์๋ class๋ฅผ ๋ณด๊ฒ ๋๋ค๋ฉด ํ์ฌ ์์ค์ฝ๋๊ฐ ์ด๋ค ์๋ฐํ์ผ๋ช
์ผ๋ก ์ ์ฅ๋์ด ์๋์ง ์ ์ ์์ ๊ฒ์ด๋ค. ๋ํ public ํค์๋๊ฐ ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์๋ฐ ํ์ผ๋ช
๊ณผ ํด๋์ค๋ช
์ด ์ผ์นํ์ง ์์ ์ ์๋ค๊ณ ์๊ฐํ์.
[๋ฉ์๋ ๋ธ๋ก]
public, private, protected ๋ผ๋ ๊ฒ์ ๋ฉ์๋์ ์ ๊ทผ์ ์ด์๋ฅผ ๋ปํ๋ค.
[static ๋ฉ์๋]
static ํค์๋๊ฐ ์ฌ์๋ ์๊ณ ์ค์ง ์์ ์๋ ์๋ค๋ ์๋ฏธ
[๋ฆฌํด ์๋ฃํ|void]
๋ฉ์๋๊ฐ ์คํ๋ ํ ๋ฆฌํด๋๋ ๊ฐ์ ์๋ฃํ.
๋ฆฌํด๊ฐ์ด ์์ ๊ฒฝ์ฐ์๋ ๋ฐ๋์ ๋ฆฌํด ์๋ฃํ์ ํ๊ธฐํด์ผ ํ๋ฉฐ ๋ง์ฝ ๋ฆฌํด๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด void ๋ก ํ๊ธฐ.
์ด ํญ๋ชฉ์ ๋ ๋ค ์๋ตํ ์๋ ์๊ณ void ๋๋ ๋ฆฌํด์๋ฃํ์ด ๋ฐ๋์ ์์ด์ผ๋ง ํ๋ค.