# ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด - 2-2. ๊ธฐ๊ณ„์— ๋น„์œ ํ•œ ๊ฐ์ฒด
Study Repository

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด - 2-2. ๊ธฐ๊ณ„์— ๋น„์œ ํ•œ ๊ฐ์ฒด

by rlaehddnd0422

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์„ธ๊ณ„๋ฅผ ์ฐฝ์กฐํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์˜ ์ฃผ๋œ ์—…๋ฌด๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๊ณ  ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ผ

  • ์ƒํƒœ๋ฅผ ์กฐํšŒํ•˜๋Š” ์ž‘์—…์„ ์ฟผ๋ฆฌ, ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ๋ช…๋ น์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด๊ฐ€ ์™ธ๋ถ€์— ์ œ๊ณตํ•˜๋Š” ํ•ด๋™์˜ ๋Œ€๋ถ€๋ถ„์€ ์ฟผ๋ฆฌ, ๋ช…๋ น์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 ์•„์ดํŽ (Eiffel)์ด๋ผ๋Š” ์–ธ์–ด๋ฅผ ๋งŒ๋“  ๋ฒ„ํŠธ๋ž€๋“œ ๋งˆ์ด์–ด๋Š” ๊ฐ์ฒด๋ฅผ ์šฐ๋ฆฌ๊ฐ€ ์นœ์ˆ™ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๊ณ„์— ๋น—๋Œ€์–ด ๋น„์œ ํ•˜์—ฌ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

์–ด๋–ค ์ธก๋ฉด์—์„œ ๊ฐ์ฒด๋ฅผ ๊ธฐ๊ณ„์— ๋น—๋Œ€์–ด ๋น„์œ ํ•˜์˜€๋Š”์ง€ ์—˜๋ฆฌ์Šค ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ํ•œ ๋ฒˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๊ณ„๋กœ์„œ์˜ ์•จ๋ฆฌ์Šค ๊ฐ์ฒด

๊ธฐ๊ณ„์˜ ํ•˜๋‹จ๋ถ€์—๋Š” '์Œ๋ฃŒ๋ฅผ ๋งˆ์‹œ๋‹ค', '์ผ€์ดํฌ๋ฅผ ๋จน๋‹ค', '๋ถ€์ฑ„์งˆํ•˜๋‹ค', '๋ฒ„์„ฏ์„ ๋จน๋‹ค', '๋ฌธ์„ ํ†ต๊ณผํ•˜๋‹ค'์™€ ๊ฐ™์€ 4๊ฐ€์ง€์˜ ๋ฒ„ํŠผ๊ณผ, 'ํ‚ค', '์œ„์น˜'๋ผ๋Š” ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 

  • 'ํ‚ค','์œ„์น˜'์— ๋Œ€ํ•œ ๋ฒ„ํŠผ ํด๋ฆญ : ํ˜„์žฌ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ƒ๋‹จ์˜ ๋””์Šคํ”Œ๋ ˆ์ด์— ์ถœ๋ ฅ
  • ๋™์ž‘์— ๋Œ€ํ•œ 4๊ฐ€์ง€ ๋ฒ„ํŠผ ํด๋ฆญ : ๊ฐ ํ–‰์œ„์— ๋Œ€ํ•œ ๋‚ด๋ถ€ ๋™์ž‘์œผ๋กœ ์ƒํƒœ(ํ‚ค, ์œ„์น˜)๋ฅผ ๋ณ€๊ฒฝ 

 

 

1. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ์ฒด ๊ธฐ๊ณ„์˜ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ, ์กฐํšŒ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์€ ๊ฐ์ฒด์˜ ํ–‰๋™์„ ์œ ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ๊ฒƒ์€ ๊ธฐ๊ณ„์˜ ์‚ฌ์šฉ์ž์ง€๋งŒ, ๋ฒ„ํŠผ์— ๋”ฐ๋ผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์ง€๋Š” ๊ธฐ๊ณ„๊ฐ€ ์Šค์Šค๋กœ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ์ธก๋ฉด์—์„œ ์ „๋‹ฌ๋œ ๋ฉ”์‹œ์ง€์— ๋”ฐ๋ผ ์Šค์Šค๋กœ ํŒ๋‹จํ•˜๊ณ  ๊ฒฐ์ •ํ•˜๋Š” ์ž์œจ์ ์ธ ๊ฐ์ฒด์˜ ํŠน์„ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ฌ˜์‚ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช…๋ น๊ณผ ์ฟผ๋ฆฌ๋Š” ๊ฐ์ฒด๊ฐ€ ์™ธ๋ถ€์— ์ œ๊ณตํ•˜๋Š” ํ–‰๋™์ด๋ผ๋Š” ์ ์— ์ฃผ๋ชฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋‹ค์‹œ ๋งํ•ด, ์‚ฌ์šฉ์ž๋Š” ์—˜๋ฆฌ์Šค ๊ฐ์ฒด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ.
์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๋ช…๋ น ๋ฒ„ํŠผ๊ณผ ์ฟผ๋ฆฌ ๋ฒ„ํŠผ ์ด์™ธ์˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ๋Š” ์—˜๋ฆฌ์Šค ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์œผ๋กœ  ์บก์Šํ™”๋ฅผ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ( ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ƒํƒœ์™€ ํ–‰์œ„๊ฐ€ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ์บก์Šํ™” ๋œ๋‹ค๋Š” ์ ์—์„œ ๊ฐ์ฒด์˜ ์ •์˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ‘œํ˜„ )

 

2. ๊ธฐ๊ณ„ ์€์œ ๋ฅผ ์ด์šฉํ•˜๋ฉด ๊ฐ์ฒด์˜ ์‹๋ณ„์ž ์—ญ์‹œ ํšจ๊ณผ์ ์ธ ์„ค๋ช…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ ์—˜๋ฆฌ์Šค ๊ธฐ๊ณ„๊ฐ€ ๋‘ ๊ฐœ ์กด์žฌํ•˜๊ณ  ๋‘ ๊ธฐ๊ณ„์˜ ์ดˆ๊ธฐ ํ‚ค์˜ ๊ฐ’์€ 130, ์œ„์น˜์˜ ๊ฐ’์€ 0์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค.

๋‘ ๊ธฐ๊ณ„์˜ ํ‚ค์™€ ์œ„์น˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค๋ฉด ์ดˆ๊ธฐ๊ฐ’์— ์˜๊ฑฐํ•˜์—ฌ ๋‘ ๊ธฐ๊ณ„ ๋ชจ๋‘ 130, 0์ด๋ผ๋Š” ๊ฐ’์ด ๋””์Šคํ”Œ๋ ˆ์ด์— ์ถœ๋ ฅ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋‘ ๊ธฐ๊ณ„๋Š” ๋™์ผํ•œ ํ•˜๋‚˜์˜ ๊ธฐ๊ณ„์ผ๊นŒ์š”? ๊ฒฐ์ฝ” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒํƒœ๋Š” ๋™์ผํ•  ์ง€๋ผ๋„ ๋‘ ๊ธฐ๊ณ„๋Š” ์„œ๋กœ ๊ตฌ๋ถ„์ด ๊ฐ€๋Šฅํ•œ ๋…๋ฆฝ์ ์ธ ๊ธฐ๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋‘ ๊ธฐ๊ณ„๊ฐ€ ๋™์ผํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜๋Š” ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

3. ๊ธฐ๊ณ„ ์€์œ ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด ๊ฐ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•œ ํ˜‘๋ ฅ ์—ญ์‹œ ์„ค๋ช…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์—˜๋ฆฌ์Šค ๊ฐ์ฒด์™€ ์Œ๋ฃŒ ๊ฐ์ฒด

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์—˜๋ฆฌ์Šค์™€ ์Œ๋ฃŒ๋ฅผ ๊ธฐ๊ณ„์— ์€์œ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

  • ์Œ๋ฃŒ ๊ด€์ ์—์„œ๋Š” '๋งˆ์…”์ง€๋‹ค'๋ผ๋Š” ๋ช…๋ น ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ž์‹ ์˜ ์ƒํƒœ์ธ '์–‘'์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๊ณ , ์ž์‹ ์˜ '์–‘'์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์—˜๋ฆฌ์Šค ๊ธฐ๊ณ„์˜ '์Œ๋ฃŒ ๋งˆ์‹œ๊ธฐ' ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ๊ฐ ๊ธฐ๊ณ„๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋‚ด๋ถ€ ๋งค์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

1) ์—˜๋ฆฌ์Šค ๊ธฐ๊ณ„๋Š” ๋งํฌ๋œ ์Œ๋ฃŒ์˜ ์–‘์„ ํ™•์ธํ•˜๊ณ  ์–‘์ด ์ถฉ๋ถ„ํ•˜๋ฉด ์ž์‹ ์˜ ํ‚ค๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.

2) ๋งํฌ๋œ ์Œ๋ฃŒ์˜ '๋งˆ์…”์ง€๋‹ค' ๋ฒ„ํŠผ์ด ๋ˆŒ๋ ค์ง€๋„๋ก ์š”์ฒญ์„ ์ „์†กํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3) ์Œ๋ฃŒ ๊ธฐ๊ณ„๋Š” '๋งˆ์…”์ง€๋‹ค' ๋ฒ„ํŠผ์ด ๋ˆŒ๋ ค์ง€๋„๋ก ์š”์ฒญ์„ ๋ฐ›์•„ ์ž์‹ ์˜ ์–‘์„ ์ค„์ž…๋‹ˆ๋‹ค.

 

๊ฐ์ฒด์ง€ํ–ฅ ํŒจ๋Ÿฌ๋‹ค์ž„ ๊ด€์ ์—์„œ ์ด๊ฒƒ์€ '์Œ๋ฃŒ ๋งˆ์‹œ๊ธฐ'๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•œ ์•จ๋ฆฌ์Šค ๊ฐ์ฒด๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋˜ ๋„์ค‘ ์Œ๋ฃŒ ๊ฐ์ฒด์—๊ฒŒ '๋งˆ์…”์ง€๋‹ค' ๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

 

์ฆ‰, ๋งํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ๋‘ ๊ฐ์ฒด๊ฐ€ ๋ฉ”์‹œ์ง€ ์ „์†ก์„ ํ†ตํ•ด ํ˜‘๋ ฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ด์ฒ˜๋Ÿผ ๊ฐ์ฒด๋ฅผ ๊ธฐ๊ณ„๋กœ์„œ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์ ์€ ์ƒํƒœ, ํ–‰๋™, ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์‹œ๊ฐ์ ์ธ ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์บก์Šํ™”์™€ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•œ ํ˜‘๋ ฅ๊ด€๊ณ„๋ฅผ ๋งค์šฐ ํšจ๊ณผ์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด์ œ ์ด ์—˜๋ฆฌ์Šค ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ธฐ๊ณ„๋ฅผ ์„ค๊ณ„ํ•ด๋ณด๋ฉฐ ์„ค๋ช…์„ ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค.

package chapter2.machine;

public interface Alice {

    void drink();
    void eatCake();
    void fan();
    void eatMushroom(String part);
    void passDoor();

    void showHeight();

    void showPosition();
}
  • ๋จผ์ € ๋ฒ„ํŠผ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๊ณ„์˜ ๋ฒ„ํŠผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋˜๋Š”๋ฐ์š”. ์ด ๋ฒ„ํŠผ์— ๋Œ€ํ•œ ๋™์ž‘์„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๊ตฌํ˜„์ฒด์— ์ž‘์„ฑํ•˜์—ฌ, ๊ธฐ๊ณ„์˜ ๋‚ด๋ถ€ ๋™์ž‘ ๋งค์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
  • ์ด์ฒ˜๋Ÿผ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๊ณ„์˜ ์™ธ์ ์ธ ๋ถ€๋ถ„๋“ค์„ ์„ค๊ณ„ํ•œ ์„ค๊ณ„๋„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
public class AliceImpl implements Alice {

    private Integer height;
    private Integer position;
    private Drink drink;

    public AliceImpl() {
        this.height = 130;
        this.position = 0;
        this.drink = new Drink(100);
    }

    @Override
    public void drink() {
        if (drink.isRemainAmount()) {
            drink.decrease(10);
            this.height -= 100;
        }
    }

    @Override
    public void eatCake() {
        this.height += 150;
    }

    @Override
    public void fan() {
        this.height -= 20;
    }

    @Override
    public void eatMushroom(String part) {
        if (part.equals("left")) {
            this.height += 10;
        }
        this.height -= 10;
    }

    @Override
    public void passDoor() {
        if (this.height < 40) {
            this.position = 1;
        }
    }

    @Override
    public void showHeight() {
        System.out.println(this.height);
    }

    @Override
    public void showPosition() {
        System.out.println(this.position);
    }
}
  • ๋‹ค์Œ์€ ์—˜๋ฆฌ์Šค ๊ธฐ๊ณ„์˜ ๋‚ด๋ถ€์— ๋Œ€ํ•œ ์„ค๊ณ„ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  • ์ด์ฒ˜๋Ÿผ ์ธํ„ฐํŽ˜์ด์Šค์— ์ž‘์„ฑํ•œ ์„ค๊ณ„๋„๋กœ ๋‚ด๋ถ€์˜ ๋™์ž‘์„ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
public class Drink {

    private Integer amount;

    public Drink(Integer amount) {
        this.amount = amount;
    }

    public void decrease(Integer amount) {
        this.amount -= amount;
    }

    public boolean isRemainAmount() {
        if (amount >= 10) {
            return true;
        }
        return false;
    }
}
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์Œ๋ฃŒ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์„ค๊ณ„๋„์ž…๋‹ˆ๋‹ค.
  • ์—˜๋ฆฌ์Šค ๊ฐ์ฒด์™€ ํ˜‘๋ ฅ์„ ํ•˜๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.
    • '๋งˆ์…”์ง€๋‹ค'๋ผ๋Š” ๋ฒ„ํŠผ ํด๋ฆญ์˜ ์š”์ฒญ์„ ์ „์†ก๋ฐ›์•„ ์ž์‹ ์˜ ์–‘์„ ์ค„์ด๋„๋ก ๋™์ž‘(ํ–‰์œ„)ํ•˜๋Š” ๊ธฐ๋Šฅ์ด decrease() ๋กœ์„œ ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์—˜๋ฆฌ์Šค ๊ฐ์ฒด๊ฐ€ '์Œ๋ฃŒ๋ฅผ ๋งˆ์‹œ๋‹ค'๋ผ๋Š” ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€ ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ๋Šฅ์ด isRemainAmount() ๋กœ์„œ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”๋ฐ ์ด์ฒ˜๋Ÿผ ์™ธ๋ถ€ ๊ฐ์ฒด์—์„œ ์ž์‹ ์˜ ์ƒํƒœ๋ฅผ ๊บผ๋‚ด์–ด ๊ฒ€์ฆํ•˜์ง€ ์•Š๊ณ  ์Šค์Šค๋กœ์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ ์Šค์Šค๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑํ•จ์œผ๋กœ์จ ์บก์Šํ™” ์›์น™์„ ์ง€ํ‚ฌ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

<์ฐธ๊ณ  ์ž๋ฃŒ>

 

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด

์œ„ํ‚ค๋ถ์Šค IT Leaders ์‹œ๋ฆฌ์ฆˆ 23๊ถŒ. ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ด ์ฑ…์€ ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ฑ…์ด๋‹ค.

www.aladin.co.kr

 

๋ธ”๋กœ๊ทธ์˜ ์ •๋ณด

Study Repository

rlaehddnd0422

ํ™œ๋™ํ•˜๊ธฐ