Ex66 ~ Ex71
μΆμν΄λμ€(abstract class)
- ꡬν λ©€λ²λ₯Ό κ°μ§ μ μλ€.(=μΌλ° ν΄λμ€μ μ±μ§)
- μΆμ λ©€λ²λ₯Ό κ°μ§ μ μλ€.(=μΈν°νμ΄μ€μ μ±μ§)
- μΈμ€ν΄μ€λ₯Ό μμ±ν μ μλ€.
- μΆμλ©μλλ₯Ό ν¬ν¨νκ³ μμ§ μμλ abstract ν€μλλ₯Ό λΆμ¬ μΆμν΄λμ€λ‘ μ§μ κ°λ₯. (μ΄λμλ μΈμ€ν΄μ€ μμ± λΆκ°λ₯)
ν€μλ abstractλ₯Ό λΆμ΄κΈ°λ§ νλ©΄ λλ€.
abstract class ν΄λμ€μ΄λ¦ {
...
}
μΆμλ©μλ(abstract method)
μ μΈλΆλ§ μμ±νκ³ κ΅¬νλΆλ μμ±νμ§ μμ μ±λ‘ λ¨κ²¨λ λ―Έμμ± λ©μλ
- μΆμν΄λμ€λ‘λΆν° μμλ°λ μμν΄λμ€λ μ€λ²λΌμ΄λ©μ ν΅ν΄ μ‘°μμΈ μΆμν΄λμ€μ μΆμλ©μλλ₯Ό λͺ¨λ ꡬνν΄μ£Όμ΄μΌ νλ€. μΆμλ©μλ μ€ νλλΌλ ꡬννμ§ μλλ€λ©΄, μμν΄λμ€ μμ μΆμν΄λμ€λ‘ μ§μ ν΄μ£Όμ΄μΌ νλ€.
abstract class Player { //μΆμν΄λμ€
abstract void play(int pos); //μΆμλ©μλ
abstract void stop(); //μΆμλ©μλ
}
class AudioPlayer extends Player {
void play(int post) { /* λ΄μ© μλ΅ */ } //μΆμλ©μλλ₯Ό ꡬν
void stop() { /* λ΄μ© μλ΅ */ } //μΆμλ©μλλ₯Ό ꡬν
}
abstract class AbstractPlayer extends Player {
void play(int post) { /* λ΄μ© μλ΅ */ } //μΆμλ©μλλ₯Ό ꡬν
}
μμ
1. ν΄λμ€
2. μΈν°νμ΄μ€
3. μΆμ ν΄λμ€
(λΆλͺ¨) <- (μμ)
ν΄λμ€ ν΄λμ€ : O
μΈν°νμ΄μ€ ν΄λμ€ : O(μμλ μΆμν΄λμ€λ₯Ό μμμ΄ κ΅¬νν΄μΌ νλ€.)
μΆμν΄λμ€ ν΄λμ€ : O(ꡬνλ©€λ²λ κ·Έλλ‘ μμλ°κ³ , μΆμλ©€λ²λ ꡬνν΄μΌνλ€.)
μΈν°νμ΄μ€ μΈν°νμ΄μ€ : O
μΆμν΄λμ€ μΆμν΄λμ€ : O(μμλ°μ μΆμ λ©μλλ₯Ό ꡬνν μ§/μν μ§ μ ν)
μΈν°νμ΄μ€ μΆμν΄λμ€ : O
μΆμν΄λμ€ μΈν°νμ΄μ€ : X(λΆλͺ¨μ ꡬνλ λ©€λ²λ₯Ό μμλ°μ μ μμ΄μ..)
ν΄λμ€ μΈν°νμ΄μ€ : X(λΆλͺ¨μ ꡬνλ λ©€λ²λ₯Ό μμλ°μ μ μμ΄μ..)
ν΄λμ€ μΆμν΄λμ€ : X
- μΌλ° ν΄λμ€λ μΌλ° ν΄λμ€μ λΆλͺ¨ μν λ§ κ°λ₯νλ€.
- μΌλ° ν΄λμ€μ μΈν°νμ΄μ€λ μΆμν¬λμ€μ λΆλͺ¨ μν μ΄ λΆκ°λ₯νλ€.
- μΆμ ν΄λμ€λ μΆμ ν΄λμ€, μΌλ° ν΄λμ€μ λΆλͺ¨ μν μ νλ€.
- μΆμ ν΄λμ€λ μΈν°νμ΄μ€ λΆλͺ¨ μν μ΄ λΆκ°λ₯νλ€.
- μΈν°νμ΄μ€λ μΈν°νμ΄μ€, μΆμν΄λμ€, μΌλ° ν΄λμ€μ λΆλͺ¨ μν μ νλ€.
- μΈν°νμ΄μ€ <- μΈν°νμ΄μ€ <- μΆμ ν΄λμ€ <- μΆμ ν΄λμ€ <- μΌλ° ν΄λμ€
μ΄κ±°ν, Enumeration
- μ¬λ¬κ° κ°μ κ°μ§κ³ μλ μλ£ν > κ°κ΄μ(μ νν)
μꡬμ¬ν] μλ₯ μΌνλͺ° > ν°μ μΈ > κ³ κ° λ°©λ¬Έ > μμ μ ν(λΉ¨κ°, λ Έλ, νλ)
Colour input2 = Colour.RED;
if (input2 == Colour.RED || input2 == Colour.YELLOW || input2 == Colour.BLUE) {
System.out.println("νλ§€ κ°λ₯");
} else {
System.out.println("μ¬κ³ μμ");
}
String gender = "λ¨μ";
String gender2 = "f";
Gender gender3 = Gender.MALE;
System.out.println(gender3);
}//main
}
class Color {
public final static int RED = 0;
public final static int YELLOW = 1;
public final static int BLUE = 2;
}
enum Colour {
RED, //final static μμ(μ μ), μμλλ‘ 012,,, μλ λκ°μ
YELLOW,
BLUE
}
enum Gender {
MALE,
FEMALE
}