Java ์ ์ด์
๐ ์ ๊ทผ ์ ์ด์
์ฌ์ฉํ๋ ์ด์
์ธ๋ถ๋ก ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค. (์บก์ํ)
๋ํ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ถ๋ถ์ ๊ฐ์ถ๊ธฐ ์ํด์ ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉํ๋ค.
ํด๋์ค์ ์ ๊ทผ ์ ํ
โ pubilc
๊ฐ์ ํจํค์ง ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ํจํค์ง์์๋ ์๋ฌด๋ฐ ์ ํ์์ด ์ฌ์ฉํ ์ ์๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํด๋์ค๋ก ๊ฐ๋ฐํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ฉด ์ข๋ค.
โ protected
๊ฐ์ ํจํค์ง ๋ด์์, ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํจํค์ง์ ์์ ํด๋์ค์์ ์ ๊ทผ ๊ฐ๋ฅ
โ default
๊ฐ์ ํจํค์ง ๋ด์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ
โ private
๊ฐ์ ํด๋์ค ๋ด์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅ
| ์ ์ด์ | ๊ฐ์ ํด๋์ค | ๊ฐ์ ํจํค์ง | ์์ํด๋์ค | ์ ์ฒด |
|---|---|---|---|---|
| public | โญ๏ธ | โญ๏ธ | โญ๏ธ | โญ๏ธ |
| protected | โญ๏ธ | โญ๏ธ | โญ๏ธ (๋ค๋ฅธ ํจํค์ง) | - |
| default | โญ๏ธ | โญ๏ธ | - | - |
| private | โญ๏ธ | - | - | - |
์์ฑ์์ ์ ๊ทผ ์ ํ
๊ฐ์ฒด๋ฅผ ์์ฑํ ๋๋ new ์ฐ์ฐ์๋ฅผ ํธ์ถํ๋๋ฐ, ์ด๋์์๋ ํธ์ถํ ์ ์๋๊ฑด ์๋๋ค.
์์ฑ์๋ public , protected , default , private ์ ๊ทผ ์ ํ์ ๊ฐ์ง๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pulic class ClassName {
// public
public ClassName();
// protectd
protected ClassName();
// default
ClassName();
// private
private ClassName();
}
ํด๋์ค ๋ด์ ์์ฑ์๋ฅผ ์ ์ธํ์ง ์์ผ๋ฉด, ์ปดํ์ผ์ ์ํด ์๋์ผ๋ก ์์ฑ์๋ฅผ ์์ฑํ๋ค.
์ด๋ ์์ฑ์์ ์ ๊ทผ ์ ํ์๋ ํด๋์ค์ ์ ๊ทผ ์ ํ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
โ public
๋ชจ๋ ํจํค์ง์์ ์๋ฌด๋ฐ ์ ํ ์์ด ์์ฑ์๋ฅผ ํธ์ถํ ์ ์๋ค.
โ protected
default ์ ๊ทผ ์ ํ์์ ๋น์ทํ๋ค. ์ฐจ์ด์ ์ ๋ค๋ฅธ ํจํค์ง์ ์ํ ํด๋์ค๊ฐ
ํด๋น ํด๋์ค์ ์์์ด๋ผ๋ฉด ์์ฑ์๋ฅผ ํธ์ถํ ์ ์๋ค.
โ default
โ private
๋์ผํ ํจํค์ง์ด๊ฑด, ๋ค๋ฅธ ํจํค์ง์ด๊ฑด ์๊ด์์ด ์์ฑ์๋ฅผ ํธ์ถํ ์ ์๋ค.
์ค๋ก์ง ํด๋์ค ๋ด๋ถ์์๋ง ํธ์ถํ ์ ์๊ณ , ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.
ํ๋์ ๋ฉ์๋ ์ ๊ทผ๊ถํ์.
์์ฑ์ ์ ๊ทผ ์ ํ์ ๋ด์ฉ๊ณผ ๋น์ทํ๋ค.
๐ ์บก์ํ์ ์ ๊ทผ ์ ์ด์
๋ฉ์๋๋ฅผ ํตํ ๊ฐ์ ์ ๊ทผ์ ์ ๋ํด์ผ ํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Time {
private int hour;
private int minute;
private int second;
public void getHour() {
return hour;
}
public void setHour(int hour) {
if (isNotValidHour(hour)) return; // True์ผ ๊ฒฝ์ฐ
this.hour = hour; // False์ผ ๊ฒฝ์ฐ
}
// ๋งค๊ฐ๋ณ์๋ก ๋๊ฒจ์ง hour์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ
private boolean isNotValidHour(int hour) {
return hour < 0 || hour > 23;
}
}