โ ๋ฉค๋ฒ๋ณ์ ์ด๊ธฐํ ๋ฐฉ๋ฒ
1. ๋ช ์์ ์ด๊ธฐํ (Explicit initialization)
2. ์ด๊ธฐํ ๋ธ๋ญ (Initialized block)
3. ์์ฑ์ (Constructor)
1. ๋ช ์์ ์ด๊ธฐํ
- ๋ณ์๋ฅผ ์ ์ธ๊ณผ ๋์์ ๊ฐ์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ ๋ช ์์ ์ด๊ธฐํ๋ผ๊ณ ํ๋ค.
1
2
3
4
5
6
7
8
|
public class Con{
int n=0;
int m=0;
:
:
}
|
cs |
2. ์ด๊ธฐํ ๋ธ๋ญ
- ์ด๊ธฐํ ๋ธ๋ญ์๋ ํด๋์ค ์ด๊ธฐํ๋ธ๋ญ๊ณผ ์ธ์คํด์ค ์ด๊ธฐํ ๋ธ๋ญ์ด ์๋๋ฐ ์ค๋์ ์ธ์คํด์ค ์ด๊ธฐํ ๋ธ๋ญ๋ง ๋ณด๊ฒ ๋ค.
-์ธ์คํด์ค ์ด๊ธฐํ ๋ธ๋ญ์ ์ธ์คํด์ค ๋ณ์์ ์ด๊ธฐํ์ ์ฌ์ฉ๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Con{
int n=0;
int m=0;
n=40; //---==์๋ฌ
:
:
}
|
cs |
- ํด๋์ค ์์์๋ ์ฐ์ฐ ๋ฐ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅ ํ๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Con{
int n=0;
int m=0;
{//์ด๊ธฐํ ๋ธ๋ญ
n=20;
m=40;
}
}
|
cs |
- ํ์ง๋ง {}์ด๊ธฐํ ๋ธ๋ญ์์๋ ๊ฐ๋ฅํ๋ค.
- ์ด๊ธฐํ ๋ธ๋ญ๋ด์์๋ ๋ฉ์๋ ์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ ์ ์ฌ์ฉํ ์ ์์ด์ ๋ช
์์ ์ด๊ธฐํ๋ก ํ ์ ์๋ ๋ณต์กํ ์ด๊ธฐํ ์์
์ ํ ์ ์๋ค.
- ์ด๊ธฐํ๋ธ๋ญ์ ์์ฑ์๋ณด๋ค ๋จผ์ ์ํ๋๊ธฐ ๋๋ฌธ์ ์์ฑ์๋ณด๋ค ์ฐ์ ์์๊ฐ ๋ฎ๋ค.
→ ์ฐ์ ์์๊ฐ ๋ฎ๋ค๋ ์๋ฏธ๋ ์ด๊ธฐํ ๋ธ๋ญ์์ ์ด๊ธฐํ ํ๋ค ํด๋ ์์ฑ์์์ ๊ฐ์ ๋ฐ๊ฟ์ฃผ๋ฉด ์์ฑ์์ ๊ฐ์ผ๋ก ์ด๊ธฐํ ๋๊ธฐ ๋๋ฌธ์ ์์ฑ์์์์ ๊ฐ์ด ์ฐ์ ์ ๋๋ค๋ ๊ฒ์ด๋ค.
- ์์ฑ์ ์ด๊ธฐํ ๋ธ๋ญ ์ฐ์ ์์ ์์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
public class Con{
int n;
int m;
//์ด๊ธฐํ ๋ธ๋ญ initialized block
{
n=20;
m=40;
System.out.println("์ด๊ธฐํ ๋ธ๋ญ ์คํ");
}
//์์ฑ์(Constructor)
Con(){
n=100;
m=200;
System.out.println("์์ฑ์ ์คํ...");
}
Con(int n ,int m){
this.n=n;
this.m=m;
System.out.println("๋งค๊ฐ๋ณ์ ์๋ ์์ฑ์ ์คํ");
}
void write(){
System.out.println("n :" + n + ", m :" + m );
}
public static void main(String[] args){
Con ob = new Con();
ob.write();
System.out.println();
Con ob2= new Con(1234, 4567);
ob2.write();
System.out.println();
}
}
|
- ์ถ๋ ฅ๋ฌธ์ ๋ณด๋ฉด ob1,ob2 ๋ ๊ฐ์ฒด๊ฐ ์์ฑ ๋ ๋ ๋๋ค ์์ฑ์๋ณด๋ค ์ด๊ธฐํ ๋ธ๋ญ์ด ๋จผ์ ์คํ ๋๋ค.
- ์ด๊ธฐํ ๋ธ๋ญ์ด ์คํ ๋์๋๋ผ๋ ์์ฑ์์์ ๊ฐ์ ๋ฐ๊ฟ ์ฃผ๊ฒ ๋๋ฉด ๊ฐ์ ์์ฑ์์ ๊ฒ์ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์์ฑ์์ ์ฐ์ ์์๊ฐ ๋ ๋๋ค๊ณ ํ๋๊ฒ์ด๋ค.
? ์ฌ๊ธฐ์ ์๋ฌธ์ ?
Q. ์์ฑ์์์๋ ์ด๊ธฐํ ํ ์ ์๋๋ฐ ์ ์ด๊ธฐํ ๋ธ๋ญ์ด ์์๊น?
A1) ์ด๊ธฐํ ๋ธ๋ญ์์๋ ๋ช ์์ ์ด๊ธฐํ์์ ํ ์ ์๋ ๋ณต์กํ ์์ ์ ํตํ ์ด๊ธฐํ๋ฅผ ํ ์ ์๋ค.
A2) ์์ฑ์๋ค์ ๊ณตํต์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ด๊ธฐํ ๋ธ๋ญ์ ๋ฃ์ด ์ค๋ค๋ฉด ์ฝ๋์ ์ค๋ณต์ ์ ๊ฑฐํด์ฃผ๊ณ ์ ์ง๋ณด์๊ฐ ์ฌ์์ง๋ค.
'JAVA > ๊ฐ๋ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ถ์ํด๋์ค ( abstract )/ java (0) | 2020.02.16 |
---|---|
์์ฑ์ ํธ์ถ/this();/java (0) | 2020.02.09 |
[Java] ์ง์ญ๋ณ์์ ์ ์ญ๋ณ์ (0) | 2020.02.06 |