μλ°(Java) this, super ν€μλ, this(), super() ν¨μ μ¬μ©νλ λ°©λ² |
thisλ νμ¬ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν΅λλ€. super λ λΆλͺ¨ ν΄λμ€λ₯Ό κ°λ¦¬ν΅λλ€. νμ¬ ν΄λμ€μ μΈμ€ν΄μ€μ μλ μμ±μ΄λ ν¨μλ₯Ό μ μ΄νλ €λ©΄ this.setName() μ νκ³ λΆλͺ¨ ν΄λμ€μ ν¨μλ₯Ό νΈμΆνκ³ μΆμΌλ©΄ super.setName() μ μ
λ ₯ν©λλ€. μλ μμ€λ₯Ό 보면μ μ΄λ»κ² μ¬μ©νλμ§ μμ 보λλ‘ νκ² μ΅λλ€.
¤ ν΄λμ€μ μμ±κ³Ό 맀κ°λ³μμ μ΄λ¦μ΄ κ°μ λ |
βΌ μλ μμ€λ this λ₯Ό μ¬μ©νμ§ μμμ λ μν©μ
λλ€. μ£Όλ‘ set/get ν¨μλ₯Ό λ§λ€ λ μ€μνλ κ²½μ° μ
λλ€. λ§€κ° λ³μμ μ΄λ¦κ³Ό Fruit μ λ΄μ μ§μλ³μ μ΄λ¦μ΄ κ°κΈ° λλ¬Έμ Fruit κ°μ²΄μ name μμ±μ κ°μ΄ μ μ₯λμ§ μμ΅λλ€. μ΄ λ Fruit μΈμ€ν΄μ€λ₯Ό κ°λ¦¬ν€λ this ν€μλλ₯Ό μ¬μ©ν΄μΌ λλ κ²μ
λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public class Fruit {
public String name;
public String color;
public double weight;
public Fruit(String name, String color, double weight) {
name = name;
color = color;
weight = weight;
}
public static void main(String[] args) {
Fruit banana = new Fruit( "banana" , "yellow" , 5.0 );
System.out.println( "name : " + banana.name);
System.out.println( "color : " + banana.color);
System.out.println( "weight : " + banana.weight);
}
}
|
βΌ μλ κ·Έλ¦Όμ²λΌ 맀κ°λ³μλ‘ λμ΄μ¨ κ°μ Fruit μμ±μ μ μ₯νλ €λ©΄ λͺ¨λ μμ±μ this λ₯Ό λΆμ¬ μ€λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public class Fruit {
public String name;
public String color;
public double weight;
public Fruit(String name, String color, double weight) {
this .name = name;
this .color = color;
this .weight = weight;
}
public static void main(String[] args) {
Fruit banana = new Fruit( "banana" , "yellow" , 5.0 );
System.out.println( "name : " + banana.name);
System.out.println( "color : " + banana.color);
System.out.println( "weight : " + banana.weight);
}
}
|
¤ μ€λ²λ‘λ©λ λ€λ₯Έ μμ±μ νΈμΆνλ λ°©λ² |
βΌ this() λ μκΈ°μμ μ μμ±μλ₯Ό νΈμΆν¨μΌλ‘μ μμ±μμ μ΄κΈ°ν κ³Όμ μ λ°λ³΅νμ§ μμλ λ©λλ€. this(x, y) μ²λΌ νλΌλ―Έν°κ° μμΌλ©΄ μκΈ° μμ μ ν΄λμ€μ ν΄λΉνλ λμΌν νλΌλ―Έν° κ°μ²΄λ₯Ό κ°μ§ ν¨μλ₯Ό νΈμΆνκ² λ©λλ€.super() λ μμλ°μ λ°λ‘ μ ν΄λμ€μ μμ±μλ₯Ό νΈμΆνκ² λ©λλ€. super(x, y) λ this μ νλΌλ―Έν° λκΈ°λ ν¨μμ²λΌ μμλ°μ ν΄λμ€μμ λμΌν νλΌλ―Έν° κ°μ²΄λ₯Ό κ°μ§ ν¨μλ₯Ό νΈμΆν©λλ€. μ΄κ²μ΄ this μ super μ μ°¨μ΄μ μ
λλ€. μ£Όμ ν μ μ this() μ super() λ { λ°λ‘ λ€μμλ§ μΈ μ μμ΅λλ€. κ·Έλμ this(), super() λ κ°μ΄ μΈ μκ° μλ κ²μ
λλ€.
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
44
45
46
47
48
|
class UpperClass {
int x;
int y;
public UpperClass() {
x = 10 ;
y = 20 ;
}
public UpperClass( int x) {
this ();
this .x = x;
}
public UpperClass( int x, int y) {
this (x);
this .y = y;
}
}
class LowerClass extends UpperClass {
int r;
public LowerClass() {
super ();
r = 30 ;
}
public LowerClass( int x) {
super (x);
r = 30 ;
}
public LowerClass( int x, int y) {
super (x, y);
r = 30 ;
}
public LowerClass( int x, int y, int r) {
this (x, y);
this .r = r;
}
}
public class Exe{
public static void main(String[] ar) {
}
}
|
¤ μμ μ μ°Έμ‘°κ°μ μ λ¬νκ³ μΆμ λ |
βΌ μ΄λ€ ν¨μμμλ 리ν΄κ°μΌλ‘ μκΈ° μμ μ μ°Έμ‘°κ°μ μ λ¬νκ³ μΆμ λκ° μμ΅λλ€. μ΄ λ this ν€μλλ₯Ό μ΄μ©ν¨μΌλ‘μ¨ ν΄κ²°μ΄ κ°λ₯ν©λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class Fruit {
public String name;
public String color;
public double weight;
public Fruit(String name, String color, double weight) {
this .name = name;
this .color = color;
this .weight = weight;
}
public Fruit getInstance() {
return this ;
}
}
|