Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
객체지향의 사실과오해 책 리뷰
Search
Len Kim
May 19, 2019
Programming
1
110
객체지향의 사실과오해 책 리뷰
책 읽고 리뷰 발표한 자료.
Len Kim
May 19, 2019
Tweet
Share
More Decks by Len Kim
See All by Len Kim
오늘도 여러분의 API 는 안녕하신가요? - 김정규(인프콘2023)
lenkim
0
190
Hands-on-Machine-Learning Book Review
lenkim
1
24
Other Decks in Programming
See All in Programming
階層化自動テストで開発に機動力を
ickx
1
360
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
4
480
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1k
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
200
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
15k
NPOでのDevinの活用
codeforeveryone
0
920
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
250
Advanced Micro Frontends: Multi Version/ Framework Scenarios @WAD 2025, Berlin
manfredsteyer
PRO
0
410
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
610
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
640
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
530
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Unsuck your backbone
ammeep
671
58k
Code Reviewing Like a Champion
maltzj
524
40k
Raft: Consensus for Rubyists
vanstee
140
7k
Music & Morning Musume
bryan
46
6.7k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Transcript
r䟤ೱࢎपҗয়䞹s 䤠ೡ 䥣 䧗䢁
ӣӏ SFHVMBS -FO https://github.com/LenKIM !ӝࣿ
ܻח䟤ೱী೧ࢲ য٣өইחѦө SOLID? ङച? ഋࢿ? ୶࢚ച? OOP?
दցܳ ࢤпೞۄ. ח ࠗ࠙ ࠁ . - झ౭࠵ ࠺(Stephen R.
Covey) Ӓۢ ܻח৵䟤ೱਸ೧ঠغחо
ёೱ۽Ӓې߁ (Object-Oriented Programming) : ёೱۆ पࣁ҅ܳ Ҋ ҙਵ۽ ݽ؛݂ೡ ࣻ
ח ಁ۞ : ёೱۆ पࣁ҅ܳ Ҋ ҙਵ۽ ݽ؛݂ೡ ࣻ ח ಁ۞ 소프트웨어 시스템이 해결하려고 하는 실재는 잘해봐야 먼 친척밖에는 되지 않는다. - 버트란드 마이어(Bertrand Meyer) : ࢜۽ ࣁ࢚ਸ ହઑೞח Ѫ.
䟤ܳझझ۽ࢤпೞҊझझ۽Ѿೞח 䧔पࣁ҅ࢤݺী࠺ਬೞחਬח ࢚క৬೯ਤܳrङചsೞחࣗਝয৬䟤rਯࢿs ӒܻҊ 䧔पࣁ҅ࢎۈٜrঐޗੋডࣘҗݺदੋ҅ডsਸӝ߈ਵ۽䧗䢁ೞৈ ݾܳ׳ࢿ೧աоחҗrݫदsܳҊ߉ਵݴ ҕزݾܳ׳ࢿೞӝਤ೧r䧗䢁sೞח 䟤ٜҙ҅ܳ䣞ݺೞӝীೞӝೞݴ
पࣁ҅ࢎޛਸӝ߈ਵ۽ࣗਝয䟤ܳध߹ೞҊ ҳഅөযрחѐ䠺 䟤ೱࢸ҅೨बࢎ࢚ੋrোѾ৮䥅ࢿ TFBNMFTTOFTT sীೠౣ
ழೖਸ۽ٜযࠁ
$VTUPNFS $BTIFS #BSJTUFS
$VTUPNFS $BTIFS #BSJTUFS ழೖ ޙ ழೖ ઁઑ ழೖ ৮ࢿ ழೖ
৮ࢿ !䧗䢁 !࢚క৬೯زਸೣԋצਯੋ䟤 !䧗䢁җݫद !ݫࢲ٘৬ਯࢿ
$VTUPNFS $BTIFS #BSJTUFS ழೖ ޙ ழೖ ઁઑ ழೖ ৮ࢿ ழೖ
৮ࢿ ৈ۞ࢎۈزੌೠ䤠ೡਸࣻ೯ೡࣻ ࣚשੑী䞵न䟎ޙೠழೖח־оٜ࢚݅ٚҙ9 䤠ೡоמࢿਸೠ ࣚשੑী䞵நदযחоמ TVCTUJUVUBCMF 䥣ਸࣻ೯ೞחߑ䢲ਯਵ۽䣜ఖೡࣻ ਃਸ߉ࢎۈٜਃਸܻೞחߑ䢲ਸਬ܂ѱ䣜ఖೡࣻ ೠࢎۈزदীৈ۞䤠ೡਸࣻ೯ೡࣻ நदয৬߄ܻझఋۄחѐੋੋ䤠ೡਸਊ೧䧗䢁ҙ҅ܳޑࢎ೮݅ ೠࢎۈநदয৬߄ܻझఋ䤠ೡਸزदীࣻ೯ೞחѪоמ
Ӓېࢲ䟤ೱۆ 객체지향이란 시스템을 상호작용하는 자율적인 객체들의 공동체로 바라보고 객체를 이용해
시스템을 분할하는 방법. 자율적인 객체란 상태와 행위를 함께 지니며 스스로 자기 자신을 책임지는 개체를 의미 객체는 시스템의 행위를 구현하기 위해 다른 객체와 협력하며, 각 객체는 협력 내에서 정해진 역할을 수행하며 역할은 관련된 책임의 집합. 객체는 다른 객체와 협력하기 위해 메시지를 전송하고, 메시지를 수신한 객체는 메시지를 처리하는 데 적합한 메서드를 자율적으로 선택.
ഴܕೠёೱࢸ҅оغӝਤ೧Ѣঠೡߣ૩ب٘ܳחېझ ҙীࢲݫदܳҊ߉חёҙਵ۽ࢎҊबਸജೞחѪ ਃೠѪযڃېझоਃೠооইפۄযڃёٜযڃݫदܳҊ߉ਵ ݴഈ۱ೞחоېझחёٜഈ۱ҙ҅ܳ٘۽ӝחبҳীࠛҗೞ ېझחёೱࣁ҅بदࢸ
ࣚש ё ߄ܻझఋ ё ۄݮ ݃ఃইژ ё ীझۨࣗ ё ಹ֢
ё ইݫܻ֢ ё ইݫܻ֢ ё ಹ֢ ё ۄݮ ݃ఃইژ ё ীझۨࣗ ё ࣚש ݫ౸ীࢲ ழೖܳ ࢶఖೡ ࣻ . ࣚש ߄ܻझఋীѱ ழೖܳ ޙೠ. ழೖܳ ઁઑೠ. Menu
ࣚש ݫ౸ ݫ ೦ݾ 4 ߄ܻझఋ ߄ܻझఋ
ழೖܳ ޙೞۄ. ݫ ܴ ࣚש ݫ ೦ݾਸ ইۄ ݫ ܴ
ݫ ೦ݾ ݫ౸ ழೖܳ ઁઑೞۄ ழೖ ݫ ೦ݾ ߄ܻझఋ ழೖ ࢤࢿೞۄ
ழೖܳ ޙೞۄ. ݫ ܴ ݫ ೦ݾਸ ইۄ ݫ ܴ ࣚש
ݫ ೦ݾ ݫ౸ ழೖܳ ઁઑೞۄ ழೖ ݫ ೦ݾ ߄ܻझఋ ழೖ ࢤࢿೞۄ
ழೖܳ ޙೞۄ. ݫ ܴ ࣚש ݫ ೦ݾਸ ইۄ ݫ ܴ
ݫ ೦ݾ ݫ౸ ழೖ ࢤࢿೞۄ ழೖܳ ઁઑೞۄ ழೖ ݫ ೦ݾ ߄ܻझఋ
ઁ೩ૉৡਵ۽पणਸ೧ࠁ
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)
٘חࣁоҙਸݽفઁҕ೧ঠೠ ѐ䠺ҙ ݺࣁҙ ҳഅҙ Customer, Menu, MenuItem, Barista, Coffee ېझ
$VTUPNFS .FOV .FOV*UFN #BSJTUB $PGGFFېझ ېझੋఠಕझ 䧗䢁җҙ҅غח ېझղࠗҳഅ FY ېझݫࢲ٘৬ࣘࢿ
ੋఠಕझ৬ҳഅਸܻ࠙ೞۄ ݺࣁҙҗҳഅҙٍࢴৈഒۆझۣѱٜ݅݃ۄ ݺࣁҙ䥈ېझউੋஏݶ⬆ ҳഅҙ䥈ېझࠛউೠஏݶ⬇ ѐ֛ੋҙҗݺࣁҙࢎחӒۧѱਃೞঋ҃о݆݅ ݺࣁҙҗҳഅҙਸܻ࠙ೞחѪݒਃೞ݃౯۞<GPXMFSC>
2"хࢎפ ҡଳਵݶ 䥣җݫࣁ ୶࢚ച