Day09 - jeremy0405/Codesquad_CS GitHub Wiki
리μ€μ½ν μΉν μμΉ
λ©€λ²λ€κ³Ό μ΄λ² λ―Έμ
μ λν΄μ κ°λ¨ν 리뷰λ₯Ό νλ μ€ ν
κ° μΌκ°νκ³Ό μ¬κ°νμ λ€κ°νμ μμλ°μμ ꡬνν μ μμ§ μμκΉ?
λΌλ μ견μ λλ€. κ°λ§ν μκ°ν΄λ³΄λ κ°λ₯ ν κ² κ°μλ€. μ΄ κ³Όμ μμ μμ μ 곡λΆν μ μ¬κ°ν - μ§μ¬κ°ν μμ λ‘ λ¦¬μ€μ½ν μΉν μμΉμ΄ μκ°μ΄ λμ νλ² λ€μ μ 리ν΄λ³΄λ €κ³ νλ€.
is kind of
νΉμ is a
κ΄κ³κ° μ±λ¦½νλ©΄ μμμ ν μ μλ€κ³ μκ³ μλ€.
μ μ¬κ°ν is a μ§μ¬κ°ν
, μ μ¬κ°ν is kind of μ§μ¬κ°ν
μΌκ°ν is a λ€κ°ν
, μΌκ°ν is kind of λ€κ°ν
μ§μ¬κ°ν is a λ€κ°ν
, μ§μ¬κ°ν is kind of λ€κ°ν
λͺ¨λ λ€ μΌλ°μ μΌλ‘ μκ°νμ λ λ§λ λ§μ΄λ€. μ¦ μμμ΄ κ°λ₯ν΄ λ³΄μΈλ€.
리μ€μ½ν μΉν μμΉ
- μμ νμ μ κ°μ²΄λ₯Ό νμ νμ μ κ°μ²΄λ‘ μΉνν΄λ μμ νμ μ μ¬μ©νλ νλ‘κ·Έλ¨μ μ μμ μΌλ‘ λμν΄μΌ νλ€.
- μμ ν΄λμ€μ νλ κ·μ½μ νμ ν΄λμ€κ° μλ°νλ©΄ μ λλ€.
μΌλ°μ μΌλ‘ 리μ€μ½ν μΉν μμΉμ μ§ν€λ©΄μ μμμ νλ©΄ λ¬Έμ κ° μμ§λ§ 리μ€μ½ν μΉν μμΉμ μλ°νκ² λλ€λ©΄ μλͺ»λ μμμ νκ² λλ€.
νμν(νμ ν΄λμ€)μ΄ λ§μ‘±ν΄μΌ νλ 쑰건 3κ°μ§
- νμνμμ μ ν 쑰건μ κ°νλ μ μλ€.
- νμνμμ νν 쑰건μ μ½νλ μ μλ€.
- νμνμμ μμνμ λΆλ³ 쑰건μ λ°λμ μ μ§λμ΄μΌ νλ€.
-> κ·Έλ₯ κ°λ¨ν λ§νμλ©΄ νμ ν΄λμ€μμ μ€λ²λΌμ΄λ©μ ν λ μμ ν΄λμ€μ μλ νμκ³Ό μΌμΉνλλ‘ μ€λ²λΌμ΄λ©μ ν΄μΌ νλ€λ κ²μ΄λ€. κ°λ¨νκ² μμ ν΄λμ€μμ μ¬μ©ν λμ κ°μ΄ λμνλλ‘ μ€λ²λΌμ΄λ©μ μ§ννλ©΄ 리μ€μ½ν μΉν μμΉμ λ§μ‘±μν¬ μ μλ€.
κ°μ₯ μ λͺ ν 리μ€μ½ν μΉν μμΉμ μλ°ν μλ₯Ό 보μ (μ§μ¬κ°ν, μ μ¬κ°ν μμ )
public class Rectangle {
private int width;
private int height;
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
public int getArea() {
return width * height;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
public void increaseWidth(int num) {
this.width += num;
}
public void increaseHeight(int num) {
this.height += num;
]
}
public class Square extends Rectangle {
public Square(int length) {
super(length, length);
}
@Override
public void increaseWidth(int num) {
super.increaseWidth(num);
super.increaseHeight(num);
}
@Override
public void increaseHeight(int num) {
super.increaseWidth(num);
super.increaseHeight(num);
}
}
Rectangle rec = new Square(10);
System.out.println(rec.getWidth());
System.out.println(rec.getHeight());
rec.increaseWidth(10);
System.out.println(rec.getWidth());
System.out.println(rec.getHeight());
///
10
10
20
20
μμ μ½λλ Rectangle rec = new Rectangle(10, 10)
λ‘ μ μΈνμ λμ λ€λ₯΄κ² λμνλ€. μμ ν΄λμ€μμ increaseWidth(10)
μ νμ λμ κΈ°λκ°μ΄ μ ν λ€λ₯΄λ€. μ¦ 'μμ νμ
μ κ°μ²΄λ₯Ό νμ νμ
μ κ°μ²΄λ‘ μΉνν΄λ μμ νμ
μ μ¬μ©νλ νλ‘κ·Έλ¨μ μ μμ μΌλ‘ λμν΄μΌ νλ€.' λ 리μ€μ½ν μΉν λ²μΉμ μλ°νκ³ μλ€. νμνμμ μ ν μ‘°κ±΄μ΄ κ°νλ μμΈλ° μ΄μ κ°μ΄ μμμ μ§ννκ² λλ©΄ λμ€μ μ½λμ νμ₯μ΄ μ΄λ €μμ§κ³ κΈ°λ₯ νμ₯μ νκΈ° μν΄μλ ν¨μ¬ λ λ§μ λΆλΆμ κ³ μ³μΌ νλ€.
μ§μ¬κ°ν is kind of λ€κ°ν , μΌκ°ν is kind of λ€κ°ν
κ·ΈλΌ λ΄ μ½λμμ μ§μ¬κ°νκ³Ό μΌκ°νμ λ€κ°νμ μμν΄μ ꡬννλ€λ©΄ 리μ€μ½ν μΉν λ²μΉμ μ§ν€λ©΄μ ꡬνμ ν μ μλ κ²μΌκΉ? λλ κ°λ₯νλ€κ³ νλ¨μ νλ€. μμ ν΄λμ€(λ€κ°ν) μμ κΈ°λλλ νμλ€μ νμ ν΄λμ€(μ§μ¬κ°ν, μΌκ°ν)μμ κΈ°λλλ νμκ° κ°μκΈ° λλ¬Έμ΄λ€. λ°λΌμ μλμ κ°μ΄ μ½λλ₯Ό λ³κ²½νμκ³ κ·Έ κ²°κ³Ό λ§μ μ€λ³΅λ μ½λλ₯Ό κ±°λ¬λΌ μ μμλ€.
λ€κ°ν ν΄λμ€
μμ μ μ§μ¬κ°ν
μμ ν μ§μ¬κ°ν
μμ μ μΌκ°ν
μμ ν μΌκ°ν