☕ YalcoChicken.java
public class YalcoChicken {
protected static final String CREED = "우리의 튀김옷은 얄팍하다.";
private final int no;
public String name;
// ⭐️ 필수 - no가 final이고 초기화되지 않았으므로
public YalcoChicken(int no, String name) {
this.no = no;
this.name = name;
}
public void changeFinalFields () {
// ⚠️ 불가
this.no++;
}
public final void fryChicken () {
System.out.println("염지, 반죽입히기, 튀김");
}
}
☕ YalcoChickenDT.java
public final class YalcoChickenDT extends YalcoChicken {
public YalcoChickenDT(int no, String name) {
super(no, name);
}
// ⚠️ 불가
public void fryChicken () {
System.out.println("염지, 반죽입히기, 미원, 튀김");
}
// 생성자 추가할 것
}
☕ Main.java
String ycCreed = YalcoChicken.CREED;
YalcoChicken.CREED = "우리의 튀김옷은 바삭하다"; // ⚠️ 불가
final YalcoChicken store1 = new YalcoChicken(3, "판교");
// ⚠️ 불가
store1 = new YalcoChicken(17, "강남");
// 💡 요소 변경은 가능
store1.name = "선릉";
☕ YalcoChickenHighWayDT.java
// ⚠️ 불가
public class YalcoChickenHighWayDT extends YalcoChickenDT {
}