μμ±μ
new μ°μ°μμ κ°μ΄ μ¬μ©λμ΄ κ°μ²΄λ₯Ό `μμ±`ν λ νΈμΆλλ©°, κ°μ²΄ μμ± ν μμ±μ λͺΈμ²΄λ₯Ό μ€ννμ¬ μ΄κΈ°νλ₯Ό λ΄λΉ.
(μλ°μ λͺ¨λ ν΄λμ€λ μμ±μκ° λ°λμ μ‘΄μ¬ νλ©°, νλ μ΄μ κ°μ§ μ μλ€)
βΆ κ°μ²΄ μμ±
ν΄λμ€λͺ μ°Έμ‘°λ³μ = new ν΄λμ€λͺ ([μΈμ]);
μΈν°νμ΄μ€λͺ μ°Έμ‘°λ³μ = new ν΄λμ€λͺ ([μΈμ]);
νΉμ§
- μμ±μλ ν΄λμ€μ λμΌν μ΄λ¦μ κ°λλ€.
- μμ±μλ λ¦¬ν΄ νμ μ μ μ νμ§ μλλ€.
- μΈμλ₯Ό κ°μ§ μ μμΌλ©°, μ€λ³΅ μ μκ° κ°λ₯ν.
- μμ±μλ μλ° ν΄λμ€μ λ©€λ²κ° μλλ©°, μμλμ§ μλλ€. λ°λΌμ, μ€λ²λΌμ΄λ©μ λμμ΄ λ μ μλ€.
- μΌλ°μ μΈ λ©μλ μ²λΌ νΈμΆν μ μκ³ , κ°μ²΄λ₯Ό μμ± ν λ new μ°μ°μ λ€μ μμ±μλ₯Ό νΈμΆνλ€.
- μμ±μλ this()λ₯Ό μ΄μ©νμ¬ μκΈ° μμ μ νΈμΆ ν μ μλ€.
- μ κ·Ό μ ν μμμ΄μΈ public, protected, private λ§μ μΈ μ μλ€.
package ch06.unit04;
public class Ex01 {
public static void main(String[] args) {
Test1 t = new Test1();
/*
1) λ©λͺ¨λ¦¬ ν λΉ(a νλ)
2) a νλλ₯Ό 0μΌλ‘ μ΄κΈ°ν
3) μμ±μ λͺΈμ²΄ μ€ν - μ΄κΈ°ν
*/
t.disp();
}
}
class Test1{
private int a;
public Test1() {
a=10;
System.out.println("μμ±μ...");
}
public void disp() {
//Test1();// μ»΄μ€λ₯ μμ±μλ μΌλ° λ©μλ μ²λΌ νΈμΆ λΆκ°
System.out.println("a:"+a);
}
}
λν΄νΈ μμ±μ
μμ±μλ₯Ό μ μνμ§ μλ κ²½μ°μ μ»΄νμΌλ¬λ μΈμλ μμΌλ©° μλ¬΄λ° κΈ°λ₯λ μ§λμ§ μλ μμ±μλ₯Ό μλ μ½μ νλλ° μ΄λ₯Ό λν΄νΈ μμ±μ(κΈ°λ³Έ μμ±μ)λΌ νλ€.
μμ±μκ° νλλΌλ μ‘΄μ¬νλ©΄ μ»΄νμΌλ¬λ λν΄νΈ μμ±μλ₯Ό μΆκ°νμ§ μλλ€.
package ch06.unit04;
public class Ex03 {
public static void main(String[] args) {
Ex2 e = new Ex2();
e.disp();
//Test2 t = new Test2(); // μ»΄μ€λ₯ μΈμκ° μλ μμ±μκ° μμ
Test2 t = new Test2(10);
t.disp();
}
}
// μμ±μκ° μ‘΄μ¬νλ©΄ λν΄νΈ μμ±μλ₯Ό λ§λ€μ§ μμ
class Ex2 {
private int a = 5;
public void disp() {
System.out.println("a : "+a);
}
}
//μμ±μκ° μ‘΄μ¬νμ§ μμΌλ©΄
class Test2{
private int x;
public Test2 (int n) {
x=n;
System.out.println("μΈμκ° νλλ©΄ μμ±μ...");
}
public void disp() {
System.out.println("x : "+x);
}
}
βΆμμ±μμ μ€λ³΅ μ μ (overloading)
μμ±μλ μΌλ° λ©μλμ²λΌ μ€λ³΅μ μκ° κ°λ₯νλ€. (μ΄μμ κ°μλ μΈμμ νμ μ΄ λ€λ₯΄κ² μ μ)
package ch06.unit04;
public class Ex04 {
public static void main(String[] args) {
Test3 t = new Test3();
t.print();
Test3 t2 = new Test3(200);
t2.print();
}
}
//μμ±μ μ€λ³΅ μ μ
class Test3 {
private int a;
public Test3(){
a=10;
System.out.println("μΈμ μλ μμ±μ");
}
public Test3(int n) {
a=n;
System.out.println("μΈμ νλμΈ μμ±μ");
}
public void print() {
System.out.println("a: "+a);
}
}
this
νμ¬ ν΄λμ€μ μΈμ€ν΄μ€λ‘ κ°μ²΄ μμ μ λν μ°Έμ‘° κ°μ κ°λλ€. νμ¬ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘° νκΈ° λλ¬Έμ μμ±μλ μΈμ€ν΄μ€ λ©μλ λ΄μμλ§ μ¬μ©νλ©° ν΄λμ€ λ©μλ(static method)μμλ μ¬μ© ν μ μλ€.
μμ±μμ μ λμμ this([μΈμ,..])λ₯Ό μ΄μ©νμ¬ μ€λ³΅ μ μλ λ€λ₯Έ μμ±μλ₯Ό λ¨ νλ² νΈμΆν μ μλ€.
package ch06.unit04;
public class Ex05 {
public static void main(String[] args) {
Test5 t = new Test5();
t.set(50);
t.disp(); // this.a:10,b:150,c:500
t.write();
Test5 t2 = new Test5();
t2.set(20);
t2.disp();
}
}
class Test5{
private int a;
private int b;
private int c = 5;
public void set(int b) {
//this νΈμΆν κ°μ²΄
//μ§μλ³μ(λ§€κ°λ³μ)μ λμΌν λ³μλͺ
μ΄ μλ κ²½μ° μλ΅ κ°λ₯
this.a = 10;
this.b = b+100;
// this.b : νΈμΆν κ°μ²΄μ b, b:λ§€κ°λ³μ
}
public void disp() {
int c=200;
System.out.println("this.a:"+this.a); // νλ
System.out.println(", b:"+b); // νλ
System.out.println(", this.c:"+this.c); // νλ
System.out.println(", c:"+c); // μ§μλ³μ
}
public void write() {
System.out.println(a+","+b+","+c);
}
}
κ°μ²΄ μμ±, μ΄κΈ°ν κ³Όμ
βΆ ν΄λμ€ λ³μ (static λ³μ)μ μ΄κΈ°ν λ° static μ΄κΈ°ν
[μ κ·Όμ μ΄μ] static νμ λ³μλͺ = μ΄κΈ°κ°;
[μ κ·Όμ μ΄μ] static ν΄λμ€λͺ μ°Έμ‘°λ³μλͺ = newμμ±μ([μΈμ]);
[μ κ·Όμ μ΄μ] static νμ []λ°°μ΄λͺ = new νμ [ν¬κΈ°];
βΆμΈμ€ν΄μ€ λ³μμ μ΄κΈ°ν λ° μΈμ€ν΄μ€ μ΄κΈ°ν
[μ κ·Όμ μ΄μ]νμ λ³μλͺ = μ΄κΈ°κ°;
[μ κ·Όμ μ΄μ] ν΄λμ€λͺ μ°Έμ‘°λ³μλͺ = newμμ±μ([μΈμ]);
[μ κ·Όμ μ΄μ] νμ []λ°°μ΄λͺ = new νμ [ν¬κΈ°];
package ch06.unit04;
public class Ex06 {
public static void main(String[] args) {
Test6 t = new Test6();
// t.name = "μ΄μλ°"; // μ»΄μ€λ₯ private μΈλΆ μ κ·Ό λΆκ°
t.setName("μ΄μλ°");
t.setAge(20);
System.out.println(t.getName()+","+t.getAge());
}
}
// getter / setter : <Shift>+<Alt>+s r a
class Test6{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package ch06.unit04;
public class Ex07 {
public static void main(String[] args) {
Test7 t = new Test7("μ΄μλ°");
t.disp();
}
}
class Test7{
private String name;
private int age;
public Test7() {
System.out.println("μΈμ μλ μμ±μ");
}
public Test7(String name) {
// Test7(name,0); // μ»΄μ€λ₯, μμ±μλ κ°μ²΄λ₯Ό μμ€ν λ new λ€μμλ§ κΈ°μ κ°λ₯
this(name,18); // λ€λ₯Έ μμ±μμ λͺΈμ²΄ μ€ν,μ΅μλ¨μ λ¨ νλ²λ§ κ°λ₯
System.out.println("μΈμ νλ μμ±μ");
}
public Test7(String name, int age) {
this.name = name; // νΈμΆνλ κ°μ²΄,
this.age = age;
System.out.println("μΈμ λκ°μΈ μμ±μ");
}
public void disp() {
System.out.println(name+","+age);
}
}
'π» > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] 10μΌμ°¨ : μλ°μ κΈ°λ³Έ API ν΄λμ€ - String (1) | 2024.02.27 |
---|---|
[Java] 10μΌμ°¨ : μλ°μ κΈ°λ³Έ API ν΄λμ€ (0) | 2024.02.27 |
[Java] 9μΌμ°¨ : ν΄λμ€(class)μ κ°μ²΄(Object) λ©μλ(2) (1) | 2024.02.26 |
[Java] 8μΌμ°¨ : ν΄λμ€(class)μ κ°μ²΄(Object) λ©μλ(1) (0) | 2024.02.23 |
[Java] 8μΌμ°¨ : ν΄λμ€(class)μ κ°μ²΄(Object) (0) | 2024.02.23 |