디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

객체지향 기본기가 덜 되있으니 쉽게 설명해줌

ㅆㅇㅆ(124.216) 2025.09.07 18:50:15
조회 124 추천 1 댓글 2
														

우선 편의상 약간 잘못된 설명이 있음

부모 메서드에 오버라이딩을 할 수 있고, 사실 차라는 걸 규정하면 스포츠카, 트럭 이런식으로 바꾸지만 편의상 상속의 범위를

차의 모양새로 좁혀서 생각하자





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


이건 차의 구체적인 모양을 적당히 그린


차라는 걸 추상화한거


일단 이걸 차 틀이라고 하자.


자 여기에 이제 구체적인 구현을 하자



2eef9e2cf5d518986abce8954480746ab8


차에 창문을 달아주고, 바퀴 모양에서도 구체적으로 구현함


이걸 보통은 상속이라고 함.


상속은 이런형식으로 특정틀이 강제되있을때 세부구현이 편하다는 장점이 있지만


당연히 이 처음에 차 틀의 모양에서 바꾸기가 힘듬


is-a 관계라는것


이 차 틀이라는 것은 상속받는 것임. 즉 이 모양새는 바꿀 수가 없다 이거임(오버라이딩해서 부모 매서드를 재정의 할 수 있지만 이건 설명상 편의로 해둠)


이게 상속임. 즉 '차 틀'이라는 모양새내에서 세부적으로 구현할 수 있지만 대체로 차틀내에서 강제되는게 상속임


즉 처음에 정해진 틀 내에서만 바꿀 수 있기때문에  커스터마이징 하기가 상당히 어려움


그럼 컴포지션 즉 조합은 무엇인가





2eee9e2cf5d518986abce89547807768fb

요렇게 차틀이 있지만, 창틀이랑 모양새는 바뀔 수 있고 자동 차 바퀴도 여러개 있겠지?


일단 차 틀에 대해서 바퀴랑 창의 모양새를 좀 더 자유롭게 하고 싶어


has-a 관계는 무엇이냐


차 틀은 차지하고


자동차의 바퀴와 창은 모양이 계속 바껴야겠지? 차 프레임은 내버려두고





2ee99e2cf5d518986abce8954486776bcd

이런식으로 왼쪽 큰 바퀴와 오른쪽 작은 바퀴를 만들어두고 필요할때 끼워두는 형식으로 하는게 


컴포지션임



즉 상속은 정적인 분류 체계 -> 부모 틀을 기반으로 하는 강제적 구조, 하지만 차와 바퀴를 반드시 결합해야하는 강제적성이 있어서 강한 결합 되있다고 함


조합은 동적인 부품 조립 -> 부품을 끼워 맞추는 방식으로 유연하게 조합-> 차와 바퀴의 조합에 대해서 강제성이 덜해서 약한 결합 되있다고함


최근의 프로그래밍 기조는 동적 부품 조립으로 넘어가서 


컴포지션 쓰라고 하는거


컴포지션은 상속보다 유연하지만 관계가 약해지기때문에, 통일된 인터페이스가 강제되지 않으므로, 설계자가 규칙을 잡아야하기때문에


상속과 컴포지션 혼합하는게 프로그래머의 실력임






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 센터해도 될 것 같이 비주얼 물오른 아이돌 멤버는? 운영자 25/09/22 - -
이슈 ‘용원게이’를 넘어 배우 장용원으로 운영자 25/09/23 - -
AD 프로게이머가 될테야!! 운영자 25/09/12 - -
2888920 키, 국가유공자 후손이었네…박서준·임영웅 등 연예계 애국자 집안 스타 발명도둑잡기(118.216) 09.13 106 0
2888919 프로그래밍 마스터 하니까 현타온다. 프갤러(121.139) 09.13 79 0
2888917 결국 고수들의 커뮤니티는 없네 ㅋㅋ [8] 프갤러(121.139) 09.13 135 0
2888916 디씨말고 활발한 프로그래밍 커뮤니티 없나? [3] 프갤러(121.139) 09.13 115 0
2888914 AI주권 탈환...삼성, 네이버 글로벌 '反 엔비디아' 연합 전선 구축 발명도둑잡기(118.216) 09.13 94 0
2888913 ■요즘 스펙용 영어시험 뭐가 대세임? ㅇㅇ갤로그로 이동합니다. 09.13 76 0
2888912 mz세대라서, 윈도우 공부하려고 책 보면 [15] ㅇㅇ(211.235) 09.13 120 0
2888904 나는 딱히 알려줄게 없음. 애초에 [3] ㅆㅇㅆ(124.216) 09.13 103 0
2888902 근데 러스트로 게임 만들기 힘들긴함 게임은 여전히 상속 위주라 [5] ㅆㅇㅆ(124.216) 09.13 136 0
2888901 weston 설명 [1] 발명도둑잡기(118.216) 09.13 61 0
2888900 돈 들어갈 일들만 계속 생기는구나 발명도둑잡기(118.216) 09.13 63 0
2888899 가을 타는 노총각 지듣노 발명도둑잡기(118.216) 09.13 60 0
2888897 아니다 오히려 돈을 받아먹는 학원형 컴퍼니를 만들어서 프갤러(110.8) 09.13 66 0
2888894 신입을 그렇게 안뽑나? 무보수 인턴 컴퍼니 만들어서 쫍 빨아먹어도 되냐 [5] 프갤러(110.8) 09.13 131 0
2888893 프갤 처참하게 망해가는구만 [6] 아스카영원히사랑해갤로그로 이동합니다. 09.13 134 0
2888889 오늘 외출했다가 2만 8천원 털렸네 [1] 나르시갤로그로 이동합니다. 09.13 69 0
2888888 요즘 신입 취업이 진짜 힘든게 [4] ㅇㅇ(223.38) 09.13 197 0
2888887 weston을 freebsd에서 가능하도록 수정해야겠어 [2] 나르시갤로그로 이동합니다. 09.13 58 0
2888886 러스트 차단하니까 속이 다 시원하네 ㅎㅎ 나르시갤로그로 이동합니다. 09.13 62 1
2888883 게임 핵 << 이거 만드는거 루도그담당(58.239) 09.13 80 0
2888882 Rust, 러스트를 차단어 지장해야지 안 되겠다 나르시갤로그로 이동합니다. 09.13 54 0
2888881 카카오지도 api를 누르면 좌표가 나오는데 [3] 프갤러(211.234) 09.13 86 0
2888879 근데 대학생 때 이진탐색 버블 정렬 백날 배워봤자 안쓰긴 함. [2] 프갤러(27.166) 09.13 80 0
2888877 한국에선 러스트 쓸 일이 없다. 뭐가 메모리 안전이냐 프갤러(27.166) 09.13 67 0
2888876 하긴 러스트에 물 한번 잘못들어놓으면 인생 곤란해지긴 해 프갤러(27.166) 09.13 65 0
2888874 근데 기왕 비유니티,언리얼 할거면 러스트로 하지 왜 cpp지 [2] 프갤러(27.166) 09.13 85 0
2888873 대학교 때 c cpp로 게임 만드는 것도 좋은 경험이다. [5] 프갤러(27.166) 09.13 89 0
2888872 그냥컴공가서웹이나할껄 프갤러(223.38) 09.13 105 0
2888871 게임학과라 c c++하레 [2] 프갤러(223.38) 09.13 108 0
2888869 이건 왜 안되는거임? 파이썬임 [9] 프갤러(49.175) 09.13 110 0
2888865 문과생들에게 러스트 학습을 강요해야 하는 이유. [2] 프갤러(49.165) 09.13 87 0
2888864 실리콘이 녹는데 10분이상이 걸리네요. 넥도리아(119.195) 09.13 62 0
2888862 실리콘이 안 녹아요. 넥도리아(119.195) 09.13 61 0
2888861 죄송합니다 [3] 조루디(118.235) 09.13 89 0
2888859 무슨 생각으로 C/C++ 왜 하려 하는거냐? [2] 프갤러(59.16) 09.13 146 0
2888858 C#으로 날로 개발하다가 C++하니까 머리 개터지네 ㅇㅇ(106.241) 09.13 70 0
2888853 좇센징들은 왜이렇게 똑똑할까 ㅋㅋㅋ 뒷통수한방(1.213) 09.13 53 0
2888851 ㅆㅇㅆ한테 코딩배우고싶네 [1] 프갤러(223.38) 09.13 92 0
2888850 여자가 말만 걸어줘도 몇시간 내내 행복하더라 난 메쿠이료갤로그로 이동합니다. 09.13 59 0
2888848 고졸국비중년 국비신청했어 [1] ㅇㅇㅇ(125.130) 09.13 128 0
2888847 러스트는 신이 내린 언어입니다 나르시갤로그로 이동합니다. 09.13 63 0
2888833 러빨러들의 인지부조화 해결 과정 ㅎㅎ [2] 나르시갤로그로 이동합니다. 09.13 75 0
2888826 러빨러의 흔한 순환논증의 오류 [1] 나르시갤로그로 이동합니다. 09.13 77 0
2888822 웹싸개들 ai가대체한다는데 언제대체함??판사연예인 아나운서는 대체않하고? [4] 뒷통수한방(1.213) 09.13 108 0
2888819 [애니뉴스] 어떤 마술의 금서목록이 인기 있는 이유와 자유민주주의, 사이 프갤러(121.172) 09.13 50 0
2888817 ■웹개발할거면 컴공지식 생각보다 많이 필요없지 않냐? [2] ㅇㅇ갤로그로 이동합니다. 09.13 542 0
2888814 확실히 좇센징들이 지능이 높고 똑똑하긴한듯 ㅋㅋㅋㅋ [1] 뒷통수한방(1.213) 09.13 85 0
2888813 하느님 곧 온다는소리만 100년이 넘었누 ㅋㅋㅋㅋ 뒷통수한방(1.213) 09.13 53 0
2888811 태어났는데 남쪽 ㅋㅋㅋㅋㅋ 뒷통수한방(1.213) 09.13 58 0
2888810 근데 또 무슨 언어로 제작해주세요도 외주 요구사항에 포함이라며 프갤러(42.25) 09.13 71 0
뉴스 '화려한 날들' 정일우X천호진, 갈등과 상처에도 끈끈한 가족애 그려내다! 디시트렌드 09.23
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2