Upgrade to Pro — share decks privately, control downloads, hide ads and more …

객체지향의 사실과오해 책 리뷰

객체지향의 사실과오해 책 리뷰

책 읽고 리뷰 발표한 자료.

Len Kim

May 19, 2019
Tweet

More Decks by Len Kim

Other Decks in Programming

Transcript

  1. ё୓૑ೱ೐۽Ӓې߁ (Object-Oriented Programming) : ё୓૑ೱ੉ۆ पࣁ҅ܳ ૒੽੸੉Ҋ ૒ҙ੸ਵ۽ ݽ؛݂ೡ ࣻ

    ੓ח ಁ۞׮੐ : ё୓૑ೱ੉ۆ पࣁ҅ܳ ૒੽੸੉Ҋ ૒ҙ੸ਵ۽ ݽ؛݂ೡ ࣻ ੓ח ಁ۞׮੐ 소프트웨어 시스템이 해결하려고 하는 실재는 잘해봐야 먼 친척밖에는 되지 않는다. - 버트란드 마이어(Bertrand Meyer) : ࢜۽਍ ࣁ࢚ਸ ହઑೞח Ѫ.
  2. $VTUPNFS $BTIFS #BSJTUFS ழೖ ઱ޙ ழೖ ઁઑ ழೖ ৮ࢿ ழೖ

    ৮ࢿ !䧗䢁੸ !࢚క৬೯زਸೣԋ૑צ੗ਯ੸ੋ䟤୓ !䧗䢁җݫद૑ !ݫࢲ٘৬੗ਯࢿ
  3. $VTUPNFS $BTIFS #BSJTUFS ழೖ ઱ޙ ழೖ ઁઑ ழೖ ৮ࢿ ழೖ

    ৮ࢿ ৈ۞ࢎۈ੉زੌೠ䤠ೡਸࣻ೯ೡࣻ੓׮ ࣚשੑ੢ী䞵੗न੉䟎ޙೠழೖח־оٜ࢚݅ٚҙ9
 䤠ೡ਷؀୓оמࢿਸ੄޷ೠ׮ ࣚשੑ੢ী䞵நदযח؀୓оמ TVCTUJUVUBCMF 
 䥣੐ਸࣻ೯ೞחߑ䢲਷੗ਯ੸ਵ۽䣜ఖೡࣻ੓׮ ਃ୒ਸ߉਷ࢎۈٜ਷ਃ୒ਸ୊ܻೞחߑ䢲ਸ੗ਬ܂ѱ䣜ఖೡࣻ੓׮
 ೠࢎۈ੉زदীৈ۞䤠ೡਸࣻ೯ೡࣻ੓׮ நदয৬߄ܻझఋۄחѐੋ੸ੋ䤠ೡਸ੉ਊ೧䧗䢁ҙ҅ܳޑࢎ೮૑݅ ೠࢎۈ੉நदয৬߄ܻझఋ੄䤠ೡਸزदীࣻ೯ೞחѪ੉оמ
  4. Ӓېࢲ䟤୓૑ೱ੉ۆ 객체지향이란 시스템을 상호작용하는 자율적인 객체들의 공동체로 바라보고 객체를 이용해

    시스템을 분할하는 방법. 자율적인 객체란 상태와 행위를 함께 지니며 스스로 자기 자신을 책임지는 개체를 의미 객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력하며, 각 객체는 협력 내에서 정해진 역할을 수행하며 역할은 관련된 책임의 집합. 객체는 다른 객체와 협력하기 위해 메시지를 전송하고, 메시지를 수신한 객체는 메시지를 처리하는 데 적합한 메서드를 자율적으로 선택.
  5. ࣚש ё୓ ߄ܻझఋ ё୓ ஠ۄݮ ݃ఃইژ ё୓ ীझ೐ۨࣗ ё୓ ஠ಹ஖֢

    ё୓ ইݫܻ஠֢ ё୓ ইݫܻ஠֢ ё୓ ஠ಹ஖֢ ё୓ ஠ۄݮ ݃ఃইژ ё୓ ীझ೐ۨࣗ ё୓ ࣚש਷ ݫ׏౸ীࢲ ழೖܳ ࢶఖೡ ࣻ ੓׮. ࣚש਷ ߄ܻझఋীѱ ழೖܳ ઱ޙೠ׮. ழೖܳ ઁઑೠ׮. Menu
  6. ழೖܳ ઱ޙೞۄ. ݫ׏ ੉ܴ ࣚש ݫ׏ ೦ݾਸ ଺ইۄ ݫ׏ ੉ܴ

    ݫ׏ ೦ݾ ݫ׏౸ ழೖܳ ઁઑೞۄ ழೖ ݫ׏ ೦ݾ ߄ܻझఋ ழೖ ࢤࢿೞۄ
  7. ழೖܳ ઱ޙೞۄ. ݫ׏ ੉ܴ ݫ׏ ೦ݾਸ ଺ইۄ ݫ׏ ੉ܴ ࣚש

    ݫ׏ ೦ݾ ݫ׏౸ ழೖܳ ઁઑೞۄ ழೖ ݫ׏ ೦ݾ ߄ܻझఋ ழೖ ࢤࢿೞۄ
  8. ழೖܳ ઱ޙೞۄ. ݫ׏ ੉ܴ ࣚש ݫ׏ ೦ݾਸ ଺ইۄ ݫ׏ ੉ܴ

    ݫ׏ ೦ݾ ݫ׏౸ ழೖ ࢤࢿೞۄ ழೖܳ ઁઑೞۄ ழೖ ݫ׏ ೦ݾ ߄ܻझఋ
  9. order(menuName, menu, barista) Customer choose(name):MenuItem Menu name price MenuItem cost()

    getName() makeCoffee(menuItem):Coffee Barista <<create>> name price Coffee Coffee(name, price)
  10. ௏٘חࣁо૑ҙ੼ਸݽفઁҕ೧ঠೠ׮ ѐ䠺ҙ੼ ݺࣁҙ੼ ҳഅҙ੼ Customer, Menu, MenuItem, Barista, Coffee ௿ېझ

    $VTUPNFS .FOV .FOV*UFN #BSJTUB $PGGFF௿ېझ ௿ېझ੄ੋఠಕ੉झ 䧗䢁җҙ҅غח ௿ېझ੄ղࠗҳഅ FY ௿ېझ੄ݫࢲ٘৬ࣘࢿ