-
μμ±μ, this, κ°μ²΄ κ°μ νλ ₯Java 2022. 2. 22. 17:12
π‘ μμ±μ Constructor
* κ°μ²΄λ³μμ κ°μ 무쑰건 μ€μ ν΄μΌλ§ κ°μ²΄κ° μμ±λ μ μλλ‘ νκΈ° -> μμ±μ μ΄μ©
π μμ±μ κ·μΉ
: ν΄λμ€λͺ κ³Ό λ©μλλͺ μ΄ λμΌνλ€
: 리ν΄νμ μ μ μνμ§ μλλ€ (voidλ μ¬μ©X)
: μμ±μλ κ°μ²΄κ° μμ±λ λ νΈμΆλλ€. μ¦, new ν€μλκ° μ¬μ©λ λ νΈμΆλλ€
package com.company; class Animal { String name; void setName(String name) { this.name = name; } } class Dog extends Animal{ void sleep() { System.out.println(this.name + " zzz"); } } class HouseDog extends Dog { HouseDog(String name) { // μ λ ₯κ°μΌλ‘ λ¬Έμμ΄ νμλ‘νλ μμ±μ this.setName(name); } void sleep() { System.out.println(this.name + " zzz in house "); } void sleep(int hour) { System.out.println(this.name + " zzz in house for " + hour + "hours"); } } public class Main { public static void main(String[] args) { // HouseDog dog = new HouseDog(); // μ λ ₯κ°X -> μ€λ₯ HouseDog dog = new HouseDog("puppy"); } }
* μμ±μλ₯Ό μ¬μ©νλ©΄ setName("puppy") κ°μ νλμ κ°μ²΄ μμ±μμ μ μ΄ν μ μλ€
π‘ λν΄νΈ(default) μμ±μ
: μμ±μμ μ λ ₯ νλͺ©μ΄ μκ³ μμ±μ λ΄λΆμ μ무 λ΄μ©μ΄ μλ μμ±μ
class Dog extends Animal { Dog() { // default μμ±μ } void sleep() { System.out.println(this.name + " zzz"); } }
: ν΄λμ€μ μμ±μκ° νλλ μλ€λ©΄ μ»΄νμΌλ¬λ μλμΌλ‘ λν΄νΈ μμ±μλ₯Ό μΆκ°νλ€
* μμ±ν μμ±μκ° νλλΌλ ꡬνλμ΄ μλ€λ©΄ μ»΄νμΌλ¬λ λν΄νΈ μμ±μλ₯Ό μΆκ°νμ§ μλλ€
π‘ μμ±μ μ€λ²λ‘λ©
: νλμ ν΄λμ€μ μ¬λ¬κ°μ μ λ ₯νλͺ©μ΄ λ€λ₯Έ μμ±μλ₯Ό λ§λ€ μ μλ€
class HouseDog extends Dog { HouseDog(String name) { this.setName(name); } HouseDog(int type) { if (type == 1) { this.setName("yorkshire"); } else if (type == 2) { this.setName("bulldog"); } } }
* κ°κ°μ μμ±μλ₯Ό μ΄μ©ν κ°μ²΄λ₯Ό λ§λ€μ΄μ μ¬μ©νλ€
π‘ this
: μμ±λ μΈμ€ν΄μ€ μ€μ€λ‘λ₯Ό κ°λ¦¬ν€λ μμ½μ΄ + μΈμ€ν΄μ€λ§λ€ λ€λ₯Έκ°μ κ°μ§λ€
: μμ μ λ©λͺ¨λ¦¬λ₯Ό κ°λ¦¬ν΄
: μμ±μμμ λ€λ₯Έ μμ±μλ₯Ό νΈμΆ
: μμ μ μ£Όμλ₯Ό λ°ννλ€
π μμ±μμμ λ€λ₯Έ μμ±μλ₯Ό νΈμΆνλ this
π κ°μ²΄ κ°μ νλ ₯
: κ²°κ³Ό
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°°μ΄, ν₯μλ forλ¬Έ (0) 2022.02.28 ν¨ν€μ§, μ κ·Ό μ μ΄μ, static λ³μ, singleton ν¨ν΄ (0) 2022.02.28 μΈμ€ν΄μ€, μ 보μλ (0) 2022.02.18 κ°μ²΄, ν΄λμ€, λ©€λ²λ³μ, λ©μλ (0) 2022.02.18 λ°λ³΅λ¬Έ (0) 2022.02.16