π μλ° μμ±μ(Constructor) μ.μ .μ .볡!
μμ±μ
λΌλ λ§, μ²μ λ€μμ λ λ―μ€κ³ μ΄λ ΅κ² λκ»΄μ§μ ¨μ£ ?
νμ§λ§ μκ³ λ³΄λ©΄, μ°λ¦¬κ° ν΄λμ€λ₯Ό μ¬μ©ν λμ²μ μΈμ¬νλ λ¬Έ
κ°μ μ‘΄μ¬λλλ€.
μ΄λ² κΈμμ μμ±μμ λͺ¨λ κ±Έ μ½κ³ μμκ² μ 리ν΄λ릴κ²μ π
β¨ μμ±μλ?
- μλ°μμ
κ°μ²΄λ₯Ό μμ±ν λ μλμΌλ‘ νΈμΆλλ λ©μλ
μ λλ€. - κ°μ²΄κ° νμ΄λ λ μ΄λ€ κ°μ κ°μ§μ§ μ ν΄μ£Όλ
μ΄κΈ°ν λꡬ
μμ! - μΌλ° λ©μλμ²λΌ μκ²Όμ§λ§,
λ¦¬ν΄ νμ μ΄ μκ³ μ΄λ¦μ ν΄λμ€λͺ κ³Ό λμΌ
ν΄μΌ ν΄μ.
π¬ μ 리νμλ©΄,
"κ°μ²΄κ° λ§λ€μ΄μ§ λ μ€νλλ νΉλ³ν λ©μλ!" λΌκ³ κΈ°μ΅νμλ©΄ λ©λλ€.
π μμ±μμ 2κ°μ§ νμ κ·μΉ
1οΈβ£ ν΄λμ€ μ΄λ¦κ³Ό μμ ν κ°μμΌ νλ€
2οΈβ£ λ¦¬ν΄ νμ
μ΄ μμ΄μΌ νλ€ (voidλ κΈμ§!)
π’ μ»΄νμΌλ¬λ λ¦¬ν΄ νμ μ΄ λ³΄μ΄λ©΄ βμ΄κ±΄ μμ±μ μλβμ΄λΌλ©° μ€λ₯λ₯Ό λ λλ€!
βοΈ κΈ°λ³Έ μμ±μ (맀κ°λ³μ μλ μμ±μ)
public class Book {
String title;
int pages;
public Book() {
title = "No Title";
pages = 0;
}
}
π μ΄ μμ±μλ μλ¬΄λ° κ°λ λ°μ§ μκ³
κΈ°λ³Έκ°μΌλ‘ κ°μ²΄λ₯Ό μ΄κΈ°νν©λλ€.
public static void main (String[] args){
Book myBook = new Book();
System.out.println(myBook.title); // μΆλ ₯: No Title
}
βοΈ λ§€κ°λ³μκ° μλ μμ±μ
public class Book {
String title;
int pages;
public Book(String title, int pages) {
this.title = title;
this.pages = pages;
}
}
π μ΄ λ°©μμ κ°μ²΄ μμ± μ
μ§μ μνλ κ°μΌλ‘ μ΄κΈ°νν μ μμ΄μ!
public static void main (String[] arg){
Book novel = new Book("μ λ°λ λΌ", 300);
}
π μμ±μλΌλ¦¬ μ°κ²°νκ³ μΆλ€λ©΄? this()
public class Book {
String title;
int pages;
public Book() {
this("No Title", 0); // λ€λ₯Έ μμ±μ νΈμΆ
}
public Book(String title, int pages) {
this.title = title;
this.pages = pages;
}
}
β
this()
λ₯Ό μ¬μ©νλ©΄
μ€λ³΅ μ½λλ₯Ό μ€μ΄κ³ ν κ΅°λ°μμ μ΄κΈ°ν λ‘μ§μ κ΄λ¦¬ν μ μμ΄μ.
βοΈβοΈ
this()
λ λ°λμ μμ±μμ 첫 μ€μλ§ μ¨μΌ ν΄μ!
π λ³΅μ¬ μμ±μ - μΈμ€ν΄μ€ 볡μ νκΈ°
public class Book {
String title;
int pages;
public Book(String title, int pages) {
this.title = title;
this.pages = pages;
}
// λ³΅μ¬ μμ±μ
public Book(Book original) {
this(original.title, original.pages);
}
}
public static void main (String[] arg){
Book b1 = new Book("μ°κΈμ μ¬", 300);
Book b2 = new Book(b1); // 볡μ¬
}
π‘ λ κ°μ²΄λ μλ‘ λ€λ₯Έ μΈμ€ν΄μ€μ§λ§, κ°μ κ°μ κ°μ§λλ€.
π§ μμ±μ μ’ λ₯ μμ½
μ’ λ₯ | μ€λͺ | μμ |
---|---|---|
κΈ°λ³Έ μμ±μ | 맀κ°λ³μ μμ΄ κΈ°λ³Έκ°μΌλ‘ μ΄κΈ°ν | new Book() |
맀κ°λ³μ μμ±μ | μ λ¬λ°μ κ°μΌλ‘ μ΄κΈ°ν | new Book("Title", 300) |
this() μμ±μ νΈμΆ | μμ±μλΌλ¦¬ μ°κ²° | this("No Title", 0) |
λ³΅μ¬ μμ±μ | κΈ°μ‘΄ μΈμ€ν΄μ€λ₯Ό 볡μ¬νμ¬ μλ‘ μμ± | new Book(κΈ°μ‘΄ Book κ°μ²΄) |
β λ§λ¬΄λ¦¬ ν μ€
μμ±μλ λ§νμλ©΄ ν΄λμ€μ 첫μΈμμ΄μμ.
μ΄λ€ λͺ¨μ΅μΌλ‘ νμ΄λ μ§ λ―Έλ¦¬ μ ν΄μ£Όλ μ€μν μν μ΄μ£ .
μ΄μμ΄λ©΄ λ¨μ νκ³ λλνκ² λ§λ€μ΄μ£Όμꡬμ π
'Programming languages > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μνΌν΄λμ€ & μλΈν΄λμ€ (μλ° μ΄λ³΄μλ 3λΆ μ»·!) (0) | 2025.04.13 |
---|---|
μλ°μΒ `this`Β &Β `super` (0) | 2025.04.12 |
Javaμ λͺ¨λ μ°μ°μ (0) | 2025.04.10 |
λ³μ (Variables) (0) | 2025.03.31 |
OOP(Object-Oriented-Programming) - κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° (0) | 2025.03.28 |