2023. 1. 31. 17:11γjava
μμ λ¬Έλ² : ν΄λμ€λͺ extends μμ λ°μ ν΄λμ€λͺ
class BusinessMan extends Man{
}
μμ λ°μ ν΄λμ€μμ μ μλ λ³μ λ° λ©μλλ₯Ό κ°μ§κ² λλ€.
public class Man {
String name;
public void tellName(){
System.out.println("μ΄λ¦μ " + name);
}
}
//μμ λ¬Έλ² : ν΄λμ€λͺ
extends μμ λ°μ ν΄λμ€λͺ
class BusinessMan extends Man{
}
BusinessMan ν΄λμ€μ λ©μλκ° νλλ μμ§λ§ μλμ²λΌ Manμ λ©μλ μ¬μ© κ°λ₯
public class ManTest {
public static void main(String[] args) {
BusinessMan m1 = new BusinessMan();
System.out.println(m1.name);
m1.tellName();
}
}
* Manκ³Ό BusinessManμ κ΄κ³λ₯Ό μλμ κ°μ΄ μ μν¨.
Man BusinessMan
λΆλͺ¨ν΄λμ€ μμν΄λμ€
μνΌν΄λμ€ μλΈν΄λμ€
μμν΄λμ€ νμν΄λμ€
class BusinessMan extends Man{
String company;
public void tellInfo(){
System.out.println("μ μ§μ₯μ " + company);
}
}
public class Man {
String name;
public Man(){
this.name = "";
}
public void tellName(){
System.out.println("μ΄λ¦μ " + name);
}
}
//μμ λ¬Έλ² : ν΄λμ€λͺ
extends μμ λ°μ ν΄λμ€λͺ
// Man BusinessMan
//λΆλͺ¨ν΄λμ€ μμν΄λμ€
//μνΌν΄λμ€ μλΈν΄λμ€
//μμν΄λμ€ νμν΄λμ€
class BusinessMan extends Man{
String company;
public BusinessMan(){
this.company = " ";
name = ""; //λΆλͺ¨ ν΄λμ€μ name λ³μλ₯Ό μ΄κΈ°ν ν μλ μμΌλ, μΆμ²X
}
public void tellInfo(){
System.out.println("μ μ§μ₯μ " + company);
}
}
μμκ΄κ³ μ¦ μμν΄λμμμ μμ±μλ₯Ό νΈμΆνλ©΄ μμ±μμ κ°μ₯ 첫μΆμ μ¨μ΄ μλ super();κ° μ€νλλ€.
super()λ λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μλ₯Ό νΈμΆ.
κ·Έ νμ ν΄λΉ ν΄λμ€μ μμ±μλ₯Ό μ€ν
public class Man {
String name;
public Man(){
System.out.println("Man μμ±μ νΈμΆ");
}
public void tellName(){
System.out.println("μ΄λ¦μ " + name);
}
}
//μμ λ¬Έλ² : ν΄λμ€λͺ
extends μμ λ°μ ν΄λμ€λͺ
class BusinessMan extends Man{
String company;
public BusinessMan(){
System.out.println("BusinessMan μμ±μ νΈμΆ");
this.company = " ";
}
public void tellInfo(){
System.out.println("μ μ§μ₯μ " + company);
}
}
λΆλͺ¨ ν΄λμ€μμμ μμ±μ λ¨Όμ νΈμΆλ κ²μ νμΈν μ μλ€.
>> μμ ν΄λμ€μμ λΆλͺ¨ ν΄λμ€μ μμ±μ μ΄κΈ°νλ₯Ό ν νμ μμ.
public BusinessMan(){
super(); //λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μ νΈμΆ λͺ
λ Ήμ΄.
System.out.println("BusinessMan μμ±μ νΈμΆ");
this.company = " ";
}
μμν΄λμ€ μμ±μμλ 맨 μμ super(); << μ¨μ΄ μμ
super(); λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μ νΈμΆ
** this(): ν΄λΉ ν΄λμ€μ κΈ°λ³Έ μμ±μ νΈμΆ
λΆλͺ¨ ν΄λμ€μ κΈ°λ³Έ μμ±μκ° μλ€λ©΄ μμ ν΄λμ€μμλ 무쑰건 κΈ°λ³Έ μμ±μλ‘ νΈμΆνκΈ° λλ¬Έμ μ€λ₯κ° λ¨.
μ΄λ° μ€λ₯λ₯Ό ν΄κ²°νκΈ° μν΄μλ
1. λΆλͺ¨ ν΄λμ€μμμ μμ±μλ₯Ό λ§€κ°λ³μλ‘ λ§λ€κ³ μΆμΌλ©΄ κΈ°λ³Έ μμ±μλ₯Ό μ μ
2. super()μ λ§€κ°λ³μ μ 보λ₯Ό λΆλͺ¨ν΄λμ€μ μμ±μ λ§€κ°λ³μ μ 보μ λμΌνκ² νΈμΆ.
μμ1
public class SuperCls {
public SuperCls(){
System.out.println("μμ±μ1");
}
public SuperCls(int i){
System.out.println("μμ±μ2");
}
public SuperCls(int i, int j){
System.out.println("μμ±μ3");
}
}
public class SubCls extends SuperCls {
public SubCls(){
System.out.println("μλΈ μμ±μ1");
}
}
public SubCls(int a) {
super(5,3); //λ§€κ°λ³μλ‘ μ μλ₯Ό μ€.
System.out.println("μλΈ μμ±μ2");
}
μλ΅λ μνΌλ₯Ό μ κ³ λ§€κ°λ³μλ‘ μ μλ₯Ό μ£Όλ©΄
λΆλͺ¨ ν΄λμ€μμ κΈ°λ³Έμμ±μκ° μλ λ μ μλ₯Ό λ§€κ°λ³μλ‘ κ°λ μμ±μκ° μ€νλ¨
μλ°λ μλμ²λΌ λ€μ€ μμμ μ§μνμ§ μλλ€!
λ¬Έλ²μ μΌλ‘ μλμ§λ§, μλμ²λΌ λ€μ€ μμμ ν κ²μ²λΌ ν΄λμ€λ₯Ό ꡬνν μλ μλ€.
public class Aaa {
int a;
}
class Bbb extends Aaa{
int b;
}
class Ccc extends Bbb{
public void ccc(){
a = 10;
b = 20;
}
}
privateλ‘ μ μΈλ λ³μ λ° λ©μλλ μμμ λ°λλΌλ μ¬μ© λΆκ°. >> μμμ λμ§λ§ μ§μ μ¬μ©μ΄ μλλ κ².
μμμ΄ μ΄λ£¨μ΄μ‘μ λ μμλ λ³μ(λ©μλ)μ κ°μ§κ³ μλ λ³μ(λ©μλ)μ λͺ μ΄ κ°μΌλ©΄ λ λ€ κ°μ§λ€.
μλ°λ λμ ꡬλΆν¨. > μμλ°μ λ³μ(λ©μλ)μ μ§μ μ κ·Όμ λͺ» ν λΏ
μΆλ ₯ λ°μ λ κ·ΈλΌ κ΅¬λΆ μ΄λ»κ²? (μ€λ¬΄μμλ μ΄λ κ² ν·κ°λ¦¬κ² μ¬μ© μ ν¨)
μ)sout(x) >> μμ μ΄ κ°μ§ λ³μ(λ©μλ)λ₯Ό λ§ν¨
this.x > μμ κ°λ€.
super.x > μμλ°μ λ³μ(λ©μλ)λ₯Ό λ§ν¨
public class Aaa {
int a;
private int aaa;
}
class Bbb extends Aaa{
int b;
public void bbb(){
a = 10;
aaa = 20; //μ€λ₯
}
}
public class Aaa {
int a;
private int aaa;
protected int a1;
//protected : private + μμν μμκΉμ§ μ¬μ© νμ©
}
class Bbb extends Aaa{
int b;
public void bbb(){
a = 10;
a1 = 10;
//aaa = 20; μ€λ₯
}
}
*****μ 리
μμ : ν΄λμ€λ₯Ό μ μΈν λ λ€λ₯Έ ν΄λμ€λ₯Ό μμ λ°μΌλ©΄ μμ λ°μ ν΄λμ€μ λ³μμ λ©μλλ₯Ό λ΄κ²μ²λΌ μ¬μ©ν μ μλ€.
public class A extends B { }
- λ¬Έλ²μ μΌλ‘ λ€μ€μμμ΄ λΆκ°.
- μμ κ΄κ³μμ μμ/μλΈ/νμ ν΄λμ€λ μμ±μ νΈμΆ μ μ!!
μμ ν΄λμ€μ μμ±μ κ°μ₯ 첫 μ€μλ super(); ν€μλκ° μ¨μ΄ μλ€.
'java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μΈλ§₯κ΄λ¦¬νλ‘κ·Έλ¨ (μμ,λ€νμ±,μ€λ²λΌμ΄λ©) (0) | 2023.02.01 |
---|---|
μμ2(μ¬ν) (0) | 2023.02.01 |
λ©μλ μ€λ² λ‘λ© (0) | 2023.01.31 |
static (0) | 2023.01.31 |
ν΄λμ€4 λ¬Έμ νκΈ° (νμκ΄λ¦¬νλ‘κ·Έλ¨ λ§λ€κΈ°) (0) | 2023.01.30 |