DOing
[JAVA] κ°μ²΄ μ§ν₯ μΈμ΄1 λ³Έλ¬Έ
π± ν΄λμ€
ν΄λμ€?
ν΄λμ€λ μμ±(μν) + λ©μλ(νμ)λ₯Ό μ μν΄λμ κ²μ΄λ€.
ex ) λΆμ΄λΉ΅ν
μΈμ€ν΄μ€?
μΈμ€ν΄μ€λ ν΄λμ€λ‘λΆν° λ§λ€μ΄μ§ κ°μ²΄μ΄λ€.
ex ) λΆμ΄λΉ΅
[ μ½λ : ν΄λμ€ μ¬μ©νκΈ° ]
class Phone {
String model;
String color;
int price;
void printInfo(){
System.out.println("μ² μλ μ΄λ²μ " + model + color + " μμμ " + price + "λ§μμ μλ€.");
}
}
public class Main {
public static void main(String[] args) {
Phone galaxy = new Phone();
galaxy.model = "Galaxy10";
galaxy.color = "Black";
galaxy.price = 100;
Phone iphone =new Phone();
iphone.model = "iPhoneX";
iphone.color = "Black";
iphone.price = 200;
galaxy.printInfo();
iphone.printInfo();
}
}
π± μμ±μ
μμ±μλ μΈμ€ν΄μ€κ° μμ±λ λ μλμΌλ‘ νΈμΆλλ 'μΈμ€ν΄μ€ μ΄κΈ°ν λ©μλ'μ΄λ€.
ν΄λμ€ μ΄λ¦κ³Ό λκ°μ μ΄λ¦μΌλ‘ μ§μ΄μ£Όμ΄μΌνλ€. μμ±μλ₯Ό λ°λ‘ λ§λ€μ§ μμΌλ©΄ μλ° μ»΄νμΌλ¬κ° μλμΌλ‘ 묡μμ μμ±μλ₯Ό λ§λ€μ΄μ€λ€. 묡μμ μμ±μλ 맀κ°λ³μκ° μ무κ²λ μλ μμ±μμ΄λ€. μΆκ°λ‘ μμλμ΄μΌν μ μ μμ±μλ μμλμ§ μλλ€λ κ²μ΄λ€.
[ μ½λ : 묡μμ μμ±μ ]
class Phone {
String model;
String color;
int price;
// μμ±μ
Phone(String model, String color, int price){
this.model = model;
this.color = color;
this.price = price;
}
void printInfo(){
System.out.println("μ² μλ μ΄λ²μ " + this.model + this.color + " μμμ " + this.price + "λ§μμ μλ€.");
}
}
public class Main {
public static void main(String[] args) {
Phone galaxy = new Phone("Galaxy10", "Black", 100);
Phone iphone =new Phone("iPhoneX", "Black", 200);
galaxy.printInfo();
iphone.printInfo();
}
}
π± μμ
μμμ΄λ κΈ°μ‘΄μ ν΄λμ€λ₯Ό μ¬μ¬μ©ν΄μ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νλ κ²μ΄λ€.
[ μμμ μ₯μ ]
0. βλͺ¨λμ μ¬μ¬μ©μ±, μ½λμ κ°κ²°μ±β
1. ν΄λμ€μ νμ₯μ΄ μ½λ€.
: κΈ°μ‘΄μ ν΄λμ€λ₯Ό λ¬Όλ €λ°μ νμ₯νλ λ°©μμ μ¬μ©νκΈ°λλ¬Έμ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νκΈ° μ½λ€.
2. ν΄λμ€ λ³κ²½μ΄ μ½λ€.
: κΈ°μ‘΄ ν΄λμ€λ₯Ό νμ₯ν΄μ μ¬μ©ν μ μμ λΏλ§μλλΌ μ€λ²λΌμ΄λ©μ ν΅νμ¬ κΈ°μ‘΄ ν΄λμ€λ₯Ό λ³κ²½ν μλ μλ€. μ΄λ¬ν κΈ°λ²μ λ€νμ±μ μ 곡ν μ μλ€.
3. ν΄λμ€λ₯Ό 체κ³νν μ μλ€.
: λ€μμ ν΄λμ€μ 곡ν΅λ μ±μ§μ νκ°μ μμ ν΄λμ€μ νν(μΆμν)ν¨μΌλ‘μ¨ ν΄λμ€λ€μ μ΄ν΄νκΈ° μ½λ€. 체κ³μ μΈ ν΄λμ€ κ³μΈ΅ ꡬ쑰λ₯Ό κ°μ§κ²λλ©΄ ν΄λμ€λ₯Ό μ½κ² κ²μ, κ΄λ¦¬ν μ μλ€.
[ μλ° μμμ νΉμ§ ]
1. λ€μ€ μμμ μ§μνμ§ μλλ€.
: μ€μ§ νλμ λΆλͺ¨ν΄λμ€λ§ κ°μ§ μ μλ€.
2. μλ°μ λͺ¨λ ν΄λμ€λ Object ν΄λμ€μ νμν΄λμ€μ΄λ€.
: μλ°μ μ΅μμ ν΄λμ€λ Object ν΄λμ€μ΄λ€. νλ‘κ·Έλ¨μ μμ±ν λ μμν΄λμ€λ₯Ό μ§μ νμ§ μμλ 묡μμ μΌλ‘ Objectν΄λμ€κ° μμ ν΄λμ€λ‘ μ§μ λκ²λλ€. μ¦, μλ°μ λͺ¨λ ν΄λμ€λ Objectν΄λμ€μ λͺ¨λ μμ±κ³Ό κΈ°λ₯μ μμλ°μ μ¬μ©νλ€.
[ μ½λ : μμ ]
class Ramen {
int price = 3000;
void cooking(){
System.out.println("λΌλ©΄μ λμΈλ€.");
}
}
class TteockRamen extends Ramen{
void putTteock(){
System.out.println("λΌλ©΄μ λ‘μ λ£λλ€.");
}
}
class CheeseRamen extends Ramen{
void putCheese(){
System.out.println("λΌλ©΄μ μΉμ¦λ₯Ό λ£λλ€.");
}
}
public class Main {
public static void main(String[] args) {
CheeseRamen cheeseRamen = new CheeseRamen();
cheeseRamen.cooking();
cheeseRamen.putCheese();
Ramen ramen = new TteockRamen();
ramen.cooking();
// ramen.putTteock(); : μ κ·Ό λΆκ°
}
}
Ramenνμ μ ramen λ³μμΈλ° ꡬν체λ TteockRamenμΌλ‘ μμ±ν κ°μ²΄μ΄λ€.
μ€μ κ°μ²΄λ TteockRamenμ΄μ¬λ μ μΈ νμ μ Ramenμ΄λΌμ TteockRamenμ ν΄λΉνλ λ΄μ©λ¬Όμ κ°μ§κ³ λ μμ§λ§ Ramenμ μλ κΈ°λ₯λ°μ μνν μ μλ€.
π± μ€λ²λ‘λ© vs μ€λ²λΌμ΄λ©
μ€λ²λ‘λ©
: μ€λ²λ‘λ©μ κ°μ ν΄λμ€ λ΄μμ κ°μ μ΄λ¦μ μμ±μλ λ©μλλ₯Ό μ¬μ©νλ κ²μ΄λ€.
: μ€λ³΅μ μ
: μ΄λ¦μ κ°μλ 맀κ°λ³μμ κ°―μ νΉμ νμ μ΄ λ€λ₯΄λ€.
μ€λ²λΌμ΄λ©
: μ€λ²λΌμ΄λ©μ λΆλͺ¨ν΄λμ€μ μλ λ©μλλ₯Ό μμν΄λμ€μμ λ€μ μ μΈνλ κ²μ΄λ€.
: μ¬μ μ
: μ΄λ¦, 맀κ°λ³μμ κ°―μ, νμ μ΄ λͺ¨λ κ°μμΌνλ€.
: λ€νμ±μ κΈ°λ°μ΄ λλ κ°λ μ΄λ€.
[ μ½λ : μ€λ²λ‘λ©κ³Ό μ€λ²λΌμ΄λ© ]
class Ramen {
void cooking(){
System.out.println("λΌλ©΄μ λμΈλ€.");
}
// μ€λ²λ‘λ©
void cooking(int count){
System.out.println("λΌλ©΄μ "+count+" κ° λμΈλ€.");
}
void pay(){
System.out.println("κ°κ²©μ 3000μ μ
λλ€.");
}
}
class CheeseRamen extends Ramen{
void putCheese(){
System.out.println("λΌλ©΄μ μΉμ¦λ₯Ό λ£λλ€.");
}
@Override
void pay(){ // μ€λ²λΌμ΄λ©
System.out.println("κ°κ²©μ 3500μ μ
λλ€.");
}
}
public class Main {
public static void main(String[] args) {
CheeseRamen cheeseRamen = new CheeseRamen();
cheeseRamen.cooking();
cheeseRamen.cooking(2);
cheeseRamen.pay();
}
}
μΆμ²
μ²μ μμνλ JAVA νλ‘κ·Έλλ°(κΉμΆ©μ μ )
'Java & Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] 컬λ μ μ 리 (0) | 2021.08.12 |
---|---|
[JAVA] LocalDate, LocalTime, LocalDateTime μ 리 (0) | 2021.08.12 |
[JAVA] μμΈμ²λ¦¬ (0) | 2021.06.24 |
[JAVA] κ°μ²΄ μ§ν₯ μΈμ΄2 (0) | 2021.06.24 |
[IntelliJ] unmappable character for encoding MS949 μλ¬ (3) | 2021.06.24 |