-
[Java] μλ° ν΄λμ€ μμ, λ©μλ μ€λ²λΌμ΄λ©Android/Java 2021. 1. 18. 21:53λ°μν
- μ΄ κΈμ "μλ° μ¨λΌμΈ μ€ν°λ" λ΄μ©μ μ 리νμ¬ μμ±ν κΈμ λλ€.
μλ° μμ
μμμ΄λ μΊ‘μν, μΆμνμ κ°μ΄ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μμμ μ£Όμν νΉμ§ μ€ νλμ λλ€.
ν΄λμ€ μμμ κΈ°μ‘΄μ ν΄λμ€μ μμ±κ³Ό κΈ°λ₯μ μΆκ°νκ±°λ μ¬μ μνμ¬ μλ‘μ΄ ν΄λμ€λ₯Ό μ μνλ κ²μ μλ―Έν©λλ€.
μμμ μ΄μ©νλ©΄ κΈ°μ‘΄μ ν΄λμ€μ λ³μμ λ©μλλ₯Ό λͺ¨λ μ¬μ©κ°λ₯νκ³ νμμ λ°λΌ λ©μλλ₯Ό 컀μ€ν°λ§μ΄μ§ ν μ μλ ν΄λμ€λ₯Ό μμ±ν μ μμ΅λλ€.
μλ° μμμ μ₯μ μΌλ‘ μ€λ³΅λ μ½λλ₯Ό μ€μΌ μ μκ³ , μ μ§ λ³΄μμ νΈλ¦¬μ±κ³Ό λ€νμ±μ ꡬνν μ μμ΅λλ€.
λ€λ₯Έ μΈμ΄μ λ€λ₯΄κ² μλ°λ λ€μ€ μμμ΄ λΆκ°λ₯νλλ° μ΄λ₯Ό 보μνκΈ° μν μΈν°νμ΄μ€κ° μμ΅λλ€.
public class ParentClass { char Pch; public void PCprint(){ System.out.println(Pch); } } class ChildClass extends ParentClass{ char Cch; public void CCprint(){ System.out.println(Cch); } }
super ν€μλ
super ν€μλλ μμν΄λμ€μμ λΆλͺ¨ν΄λμ€μ λ©€λ² λλ λ©μλλ₯Ό μ¬μ©νκΈ° μν΄ μ°Έμ‘°λλ ν€μλμ λλ€.
super ν€μλλ‘ λ³μλ₯Ό μ°Έμ‘°ν μ μκ³ super()λ λΆλͺ¨ν΄λμ€μ μμ±μλ₯Ό νΈμΆν μ μμ΅λλ€.
public class ParentClass { String Pstr; public ParentClass() { Pstr = "This is Parent Class"; } public ParentClass(String Pstr){ this.Pstr = Pstr; } public void PCprint(){ System.out.println(Pstr); } }
λΆλͺ¨ ν΄λμ€λ μ μ½λμ²λΌ μμ±νμκ³ ν΄λμ€μ μμ±μλ λ κ°μ§λ‘ λλ©λλ€.
class ChildClass extends ParentClass{ String Cstr; public ChildClass() { Cstr = "This is Child Class"; } public void CCprint(){ super.PCprint(); System.out.println(super.Pstr); System.out.println(Cstr); } }
μμ ν΄λμ€μ λ©μλμΈ CCprintμμ λΆλͺ¨ ν΄λμ€μ λ³μμ λ©μλλ₯Ό νΈμΆνκΈ° μν΄ superν€μλλ₯Ό μ¬μ©νκ³ μμ΅λλ€.
public class Main { public static void main(String[] args) { ParentClass parentClass = new ParentClass(); ChildClass childClass = new ChildClass(); /** * This is Parent Class * This is Parent Class * This is Child Class **/ childClass.CCprint(); } }
main λ©μλλ₯Ό μ€ννλ©΄ λ€μκ³Ό κ°μ΄ μΆλ ₯μ΄ λ©λλ€.
ChildClassμ μμ±μλ λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μμΈ ParentClass()κ° μ€νλλ κ²μ νμΈν μ μμ΅λλ€.
class ChildClass extends ParentClass{ String Cstr; public ChildClass() { super("This is new constructor"); Cstr = "This is Child Class"; } public void CCprint(){ super.PCprint(); System.out.println(super.Pstr); System.out.println(Cstr); } }
λ€μκ³Ό κ°μ΄ ChildClassμ μμ±μ λ΄λΆμ super() ν€μλλ₯Ό μ¬μ©νμ¬ λΆλͺ¨ ν΄λμ€μ μμ±μλ₯Ό νΈμΆν μ μμ΅λλ€.
public class Main { public static void main(String[] args) { ParentClass parentClass = new ParentClass(); ChildClass childClass = new ChildClass(); /** * This is new constructor * This is new constructor * This is Child Class **/ childClass.CCprint(); } }
main λ©μλ κ²°κ³Όκ° super() ν€μλλ‘ λ³κ²½λ μΆλ ₯μ νμΈν μ μμ΅λλ€.
λ©μλ μ€λ²λΌμ΄λ©
λ©μλ μ€λ²λΌμ΄λ©μ μμ ν΄λμ€μμ λΆλͺ¨λ‘ μμλ°μ λ©μλλ₯Ό μ¬μ μνλ κ²μ λ»νκ² λ©λλ€.
privateλ₯Ό μ μΈν λΆλͺ¨ν΄λμ€μ λ©μλλ λͺ¨λ μμν΄λμ€μ μμμ΄ λκ³ μνλ λ©μλλ μλ‘ μ¬μ μ ν μ μμ΅λλ€.
μ€λ²λΌμ΄λ©μ μ μΈλΆλ κ·Έλλ‘ μ μ§νκ³ μ½λ λ΄μ©λ§ λ³κ²½νμ¬ μ¬μ μν΄μΌ ν©λλ€.
public class ParentClass { String Pstr; public ParentClass() { Pstr = "This is Parent Class"; } public ParentClass(String Pstr){ this.Pstr = Pstr; } public void PCprint(){ System.out.println(Pstr); } } class ChildClass extends ParentClass{ String Cstr; public ChildClass() { super("This is new constructor"); Cstr = "This is Child Class"; } @Override public void PCprint() { //super.PCprint(); System.out.println(); } public void CCprint(){ super.PCprint(); System.out.println(super.Pstr); System.out.println(Cstr); } }
ChildClassμμ λΆλͺ¨ν΄λμ€μ μλ λ©μλμΈ PCprintλ₯Ό μ€λ²λΌμ΄λ©νμ¬ μ¬μ μνλ λͺ¨μ΅μ νμΈν μ μμ΅λλ€.
μ€λ²λΌμ΄λ©μ νμ§ μμ κ²½μ° κΈ°λ³Έκ°μΌλ‘ super.PCprint() ν¨μκ° νΈμΆλ©λλ€.λ°μν'Android > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μλ° ν¨ν€μ§λ? (0) 2021.01.19 [Java] μΆμ ν΄λμ€, Dispatch, final, Object ν΄λμ€ (0) 2021.01.18 [Java] μλ° ν΄λμ€, κ°μ²΄ (0) 2021.01.18 [Java] 쑰건문(if, else, else if), λ°λ³΅λ¬Έ(for, while) (0) 2021.01.15 [Java] Github API μ¬μ©λ² (0) 2021.01.14