λλ¬Όλ³μμ μ£Ό λ°μ΄ν°λ λλ¬Ό.
λ°λΌμ Ani. μ리μ¦λ‘ κ°λ€.
λλ¬Όμ΄ μ€λΈμ νΈ.
λλ¬Όμ΄ κ°μ§κ³ μλ κ²μ 무μμ΄λ? μΉλ£ν΄μ€μΌ νλ κ²μ?
>> μ°λ¦¬λ κ°, κ³ μμ΄, νμ€ν°, μ μ΄, λ.. λ±λ± μΉλ£ν΄μ€μΌν΄. (μ΄λ¦ / λ€λ¦¬μ κ°μ / λ±λ± νκ³ μμλλ° μ μ΄? νμΆ©λ₯? λ? μ‘°λ₯? μ€μ§μ μΌλ‘ νμ’ μ λ°λΌμ ꡬμ±ν΄μΌνλ νλͺ©μ΄ λ¬λΌμ§. κ³ λ―Όμ ν¨. μλ μ΄λ κ² ν κ±°λ©΄ μ§μ λ§ν΄μ£Όμ§. μμ λλ¬Ό ν΄λμ€ λ§λ€μ΄λκ³ μμλ°κ² νμ§. 곡ν΅μ μΌλ‘ νλ μ΄λ¦μ μμ λ£μΌλ©΄ λμμ.
μμκ΄κ³ μ’μ μ : ν λ² λ£μΌλ©΄ μμ λ°μμ μΈ μ μκ² λ¨.
λ¨μ : μ²μ λ§λ€ λ μκ°μ΄ μ€λ κ±Έλ¦Ό
p311
νλμμ μ¬λ¬κ°λ‘ λ΄λ €κ°λ κ²(λ€μ€μμ)μ κ°λ₯νλ, μ¬λ¬κ°κ° νλλ‘ λ΄λ €κ°λ κ²μ μλλ€.
λ€λ₯Έ κ°μ²΄ μ§ν₯μΈμ΄λ μ°νμ μΌλ‘ μ΄λ₯Ό νλ½νλ μΈμ΄λ μκΈ°λ νλ€.
μ μλλμ§λ λμ€μ μ€λͺ μμ .
p312, p313 -- μμ μ€λͺ λ΄μ© μ½λ --
* κ°μ²΄ μ§ν₯ μΈμ΄μ μμμ μμ μ νΈνκ² νκΈ° μν΄μμ΄λ€. λΉμ©κ³Ό μκ°κ³Ό λ Έλ ₯μ μ μ λ²μ μμμ λͺ λ¨κ³κΉμ§ ν κ²μΈμ§ κ³ λ―Όν΄μΌ *
// λλ¬Όλ³μ λ³μμ₯, λλ¬Όλ³μ νμν νλ‘κ·Έλ¨ λ§λ€κΈ°
class Ani16{
String name = "μ΄ λ¦ ";
void cry() { System.out.println("μΌ μ");}
Ani16() {System.out.println(" -- Ani16() μ€ν -- "); }
}
class Dog16 extends Ani16{
Dog16() {System.out.println(" -- Dog16() μ€ν -- "); }
}
class Cat16 extends Ani16{
Cat16() {System.out.println(" -- Cat16() μ€ν -- "); }
}
public class Cla16 {
public static void main(String[] args) {
Dog16 d1 = new Dog16(); d1.name = " ν΄ νΌ ";
Cat16 c1 = new Cat16(); c1.name = " μ μΉ ";
}
}
//p310
λΆλͺ¨κ° λ¨Όμ μ μΈλκ³ μμμ΄ μ μΈλλ©΄, λ¨Όμ μ μΈλλ aκ° μ¬λΌμ§λ€κ³ μκ°ν μ μλλ°, κ·Έλ μ§λ μκ³
μ΄ν¬μ κ°λ €μ§λ κ² λΏ.
λ λ€ νΈμΆν΄μ μ¬μ©νλ €λ©΄, λΆλͺ¨aλ₯Ό superλ‘ λκ³ ,μμaλ₯Ό thisλ‘ λμΌλ©΄ λ¨.
class Ani17{
String a = "Ani-a";
void cry() { System.out.println("μΌ μ");}
void shout() { System.out.println("μΌ λ₯΄ λ ");}
}
class Dog17 extends Ani17 {
String a = "Dog - a";
void pDog() { System.out.println(this.a);
System.out.println(super.a);
}
//p317 λ©μλ μ€λ²λΌμ΄λ
void cry() { System.out.println("λ© λ©");}
// super.cry();
@Override // annotation κΈ°λ² / / p318
void shout() { System.out.println("λ― λ₯΄ λ ");}
}
public class Cla17 {
public static void main(String[] args) {
Dog17 d1 = new Dog17();
System.out.println(d1.a);
d1.pDog();
d1.cry();
d1.shout(); //d1.Shout();
}
}
//λΆλͺ¨κ° λ¨Όμ μ μΈλκ³ μμμ΄ μ μΈλλ©΄, λ¨Όμ μ μΈλλ aκ° μ¬λΌμ§λ€κ³ μκ°ν μ μλλ°, κ·Έλ μ§λ μκ³
//μ΄ν¬μ κ°λ €μ§λ κ² λΏ.
// λ λ€ νΈμΆν΄μ μ¬μ©νλ €λ©΄, λΆλͺ¨aλ₯Ό superλ‘ λκ³ ,μμaλ₯Ό thisλ‘ λμΌλ©΄ λ¨.
λΆλͺ¨μͺ½μ μλ κ²μ μ²λ¦¬λ₯Ό μν κ²μ΄ μλλΌ,
λ©μλ, νλ μ΄λ¦μ κ·Έλλ‘ κ°μ Έλ€ μ°λ μ€κ³μ λλμΌλ‘ λ΄μ£Όμ΄μΌ νλ€.
λ΄κ° μ΄λ κ² μ΄λ¦μ μ€κ³ν΄ λμμΌλ, λμ€μ μ€κ³λ°μ μΈ λμ μ΄λ¦κ°μ Έλ€ μ¨λΌ.
μλ μ΄λ° μμΌλ‘ μ€νμ΄ λ¨
class Ani18 {
String name;
Ani18(){ System.out.println(" -- Ani18() μ€ν -- "); }
Ani18(String name){ this.name = name ;
System.out.println(" -- Ani18(name) μ€ν -- "); }
}
class Dog18 extends Ani18 {
Dog18(){ super (); System.out.println(" -- Dog18() μ€ν -- ");}
Dog18(String name){ super(name); System.out.println(" -- Dog18(name) μ€ν -- ");}
}
public class Cla18 {
public static void main(String[] args) {
Dog18 d1 = new Dog18();
Dog18 d2 = new Dog18(" ν΄ νΌ "); //
System.out.println(d2.name);
}
}
머리μμΌλ‘ κ³μ κ·Έλ¦Όμ κ·Έλ €κ°μΌ ν¨
// final => λ΄μΈλλ€.
final λ³μ => μμ
final λ©μλ => μ€λ²λΌμ΄λ© λΆκ°
final ν΄λμ€ => μμ λΆκ°
p333
μλ νμ λ³ν
μ°Έμ‘°νμ ν λ³ν μμ² μ€μν¨(μ€λ λμ¨ κ² μ€μ μ μΌ μ€μν¨)
λ©λͺ¨λ¦¬ ꡬ쑰 μ΄ν΄
* μ΄ν΄λ¦½μ€λ λ¬Έλ²μ μ€λ₯λ μ‘μλ΄μ§λ§ λ©λͺ¨λ¦¬μ μ€λ₯λ μ μ‘μλ΄μ§ λͺ»ν¨.
κ·Έλ¦Όμ μ’ μ΄μ ν λ² μ€μ λ‘ κ·Έλ €λ³΄μΈμ!
class A20 { int a = 200; }
class B20 extends A20 { int b = 100; }
public class Cla20 {
public static void main(String[] args) {
A20 z1 = new A20();
B20 z2 = new B20();
A20 z3 = new B20();
// B20 z4 = (20) new A20(); //μ μλ¬κ°λλκ°? <-- μ€ν μ μλ¬ / λ¬Έλ² μλ¬ μλ 맀λͺ¨λ¦¬ μλ¬
// κ²μ νλͺ©(μ μ) = μ€μ νλͺ©(λ§μ)
// κ²μ νλͺ©(λΆλͺ¨) = μ€μ νλͺ©(μμ)
// λΆλͺ¨ν΄λμ€ λ³μ = μμν΄λμ€κ³΅κ° ==> μλ ν λ³ν
//ν° size = μμ size //////
short a = 10;
int b = a;
int c = 20;
short d = (short)c; // cast μ°μ°μ -> κ°μ μ μ
}
}
μ΄κ±° μ΄ν΄ μλλ©΄ μμΌλ‘ κ±·μ‘μ μ μμ κ²..(μ λ μ΄λ―Έ κ±·μ‘μ μ μλλ°μ...) πππ
λκ² μ΄ν΄νκ³ μΆμλ° μ΄ν΄μλλ λλ.
λ€λ€ μ΄λ»κ²λ€ μ΄ν΄νμλ건μ§? γ
ν νλ μ΄λ°μ΄ν° μλΆλΆ μμ λ΄μ©λ€μ΄
μμΌλ‘μ 컀리μ΄μ νμνμ§ μ λͺ¨λ₯΄κ² λλ°,
μ€νΈλ μ€ λ무 λ°μ§ μκ³ κ³΅λΆνμ.
κ·Έλ₯ λλλ§ μμ.
λ€μ€μμ μλλ μ΄μΌκΈ°
μ°Έμ‘°ν νλ³νμ λν κ²μ μ½λλ₯Ό μ€μΌ μ μλ μ€μν keyκ° λλ€.
// κ°μ μ
체
class TV23 {
void PowerOn() { System.out.println("TV Power on"); }
void PowerOff() { System.out.println("TV Power off"); }
}
class LGTV23 extends TV23{
void PowerOn() { System.out.println("LGTV Power on"); }
void PowerOff() { System.out.println("LGTV Power off"); }
}
class SSTV23 extends TV23{
void PowerOn() { System.out.println("SSTV Power on"); }
void PowerOff() { System.out.println("SSTV Power off"); }
}
class HDTV23 extends TV23{
void PowerOn() { System.out.println("HDTV Power on"); }
void PowerOff() { System.out.println("HDTV Power off"); }
}
public class Cla23 {
public static void main(String[] args) {
//μΈμ€ν΄μ€ μμ±ν΄μ κ°κ° ν
μ€νΈν΄λ³΄κ³
// LGTV23 tv1 = new LGTV23(); tv1.PowerOn(); tv1.PowerOff();
// SSTV23 tv2 = new SSTV23(); tv2.PowerOn(); tv2.PowerOff();
// HDTV23 tv3 = new HDTV23(); tv3.PowerOn(); tv3.PowerOff();
// μμ λΆλͺ¨ νλ³νμν¨κ±°
// TV23 tv1 = new LGTV23(); tv1.PowerOn(); tv1.PowerOff();
// TV23 tv2 = new SSTV23(); tv2.PowerOn(); tv2.PowerOff();
// TV23 tv3 = new HDTV23(); tv3.PowerOn(); tv3.PowerOff();
// λ무 λ§μΌλ ν λ²μ λ릴 λ°©λ²μ μ°Ύμλ³Έλ€.
// μ΄λ μ΄λ₯Ό μ¬μ©νμ¬ ν λ²μ μ²λ¦¬
TV23[] TVs = { new LGTV23(), new SSTV23(), new HDTV23() };
for(TV23 tv: TVs) { tv.PowerOn(); tv.PowerOff();}
}
}
// κ°μ²΄ μ§ν₯ μΈμ΄μμ νμ λ§μ΄ μ°κ³ μ€νμ μ κ² μ°λ건 μ§μν΄μΌνλ€.
// κ³Όμ : main method μμ μλκ²μ ꡬ쑰μ μΌλ‘ κ·Έλ¦Ό 그리λκ² λ§μκΉμ?
'PlayData > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Day11 | Java] μ΄κ±°νμ , μμΈμ²λ¦¬ (λλμ΄ μλ° λ!) (0) | 2021.11.23 |
---|---|
[ Day 10 | Java ] ν΄λμ€, μΆμ ν΄λμ€, (0) | 2021.11.23 |
[Day 8 | Java] ν΄λμ€ / μμ (0) | 2021.11.19 |
[Day7 | Java] ν΄λμ€ / λ©λͺ¨λ¦¬ / μΈμ€ν΄μ€λ©€λ²μ μ μ λ©€λ² (0) | 2021.11.17 |
[Day 6 | Java] λ°°μ΄ λ³΅μ¬ / λ©μλ / ν΄λμ€ (0) | 2021.11.17 |