μΆμ ν΄λμ€λ μ€μ²΄ ν΄λμ€λ€μ 곡ν΅μ μΈ νΉμ±μ μΆμΆνμ¬ μ μΈν ν΄λμ€λ₯Ό λ»νλ€. μ€μ²΄ ν΄λμ€λ μΆμ ν΄λμ€λ₯Ό μμνμ¬ μΆμ ν΄λμ€μ νλμ λ©μλλ₯Ό μ¬μ©ν μ μλ€.
μΈν°νμ΄μ€λ μΌμ’ μ μΆμ ν΄λμ€λ‘, ν΄λμ€λ₯Ό μν νκ³Όλ κ°λ€. μΆμ ν΄λμ€μ λΉν΄ μΆμν μ λκ° λλ€.
곡ν΅μ μΌλ‘ λ§λ€μ΄μΌ νλ λ©μλκ° μλ€λ©΄ μλ¬΄λ° κ΅¬ν μμ΄ λ©μλ ν¨μλ§ μ μΈνλ€.
μΆμ ν΄λμ€μ μΈν°νμ΄μ€λ λλ€ μ¬μ©ν λ 무쑰건 λ©μλλ₯Ό μ€λ²λΌμ΄λ©μ ν΄μΌνκΈ° λλ¬Έμ ꡬνμ²΄λ§ λ¨Όμ λ§λ€λ©΄ μλ¬κ° λλ€. (μΈν 리μ μ΄: Alt+Insert -> Generate -> Implements Methodsλ‘ λ€μ΄κ°λ©΄ μλ μ€λ²λΌμ΄λ© κ°λ₯)
μΆμ ν΄λμ€; abstract - extends
μ€μ²΄ ν΄λμ€λ μΆμ ν΄λμ€λ₯Ό μμνμ¬ μΆμ ν΄λμ€μ λͺ¨λ νΉμ±(λ³μμ λ©μλ)μ λ¬Όλ €λ°κ³ , μΆκ°μ μΈ νΉμ±μ κ°μ§ μ μλ€.
μΆμ ν΄λμ€μ μ₯μ
1. ν΄λμ€λ€μ 곡ν΅λ νλμ λ©μλμ μ΄λ¦μ ν΅μΌν ν μ μλ€.
2. μ€μ²΄ ν΄λμ€λ₯Ό μμ±ν λ μκ°μ΄ λ¨μΆλλ€.
λ€μμ μΆμ ν΄λμ€μ μμμ΄λ€.
//νΈλν° μΆμ ν΄λμ€
public abstract class Phone {
public String owner;
public Phone(String owner) {
this.owner = owner;
}
public void turnOn(){
System.out.println("ν° μ μμ ν΅λλ€");
}
public void turnOff(){
System.out.println("ν° μ μμ λλλ€");
}
}
// μ€λ§νΈν° μ€μ²΄ ν΄λμ€
public class SmartPhone extends Phone {
public SmartPhone(String owner) {
super(owner);
}
public void Internet(){
System.out.println("μΈν°λ· κ²μμ΄ κ°λ₯νλ€. ");
}
}
μΆμ ν΄λμ€μ μ€μ²΄ ν΄λμ€κ° μμ κ°μ λ λ€μκ³Ό κ°μ΄ μ΄μ©ν μ μλ€.
//Phone p = new Phone(); //μΆμ ν΄λμ€λ κ°μ²΄λ₯Ό λ§λ€ μ μλ€.
SmartPhone sp = new SmartPhone("trudy");
sp.turnOn(); //Phoneμ λ©μλλ μ¬μ©ν μ μμ
sp.internet();
μΈν°νμ΄μ€; interface - implements
μΆμ ν΄λμ€λ λ³μ, μμ±μ, λ©μλλ₯Ό λͺ¨λ κ°μ§μ§λ§, μΈν°νμ΄μ€λ μμμ μΆμ λ©μλλ§ κ°λλ€.
μΈν°νμ΄μ€λ κ°μ²΄ μ¬μ© λ°©λ²μ μ μν κ²μ΄λ―λ‘ μ€ν μ λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ μΈμ€ν΄μ€ λλ μ μ λ³μλ₯Ό μ μΈν μ μλ€.
public interface RemoteControl {
public void turnOn();
public void turnOFf();
}
public class Television implements RemoteControl {
public void turnOn(){
System.out.println("TVλ₯Ό μΌλλ€.");
}
public void turnOff(){
System.out.println("TVλ₯Ό λλλ€.");
}
}
'β‘π©βπ» β‘ > ΒΊ Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java 컬λ μ νλ μμν¬] HashMap (0) | 2023.11.27 |
---|---|
[Java] μ κ·Ό μ μ΄μ (public, protected, default, private), μ μ΄μ static, final (0) | 2023.11.27 |
[Java] μ€λ²λ‘λ© vs μ€λ²λΌμ΄λ© (0) | 2023.11.27 |
[Java 컬λ μ νλ μμν¬] ArrayList (1) | 2023.11.24 |
[Java] final μμ ν€μλ (0) | 2023.11.24 |