디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 센터해도 될 것 같이 비주얼 물오른 아이돌 멤버는? 운영자 25/09/22 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
2887717 인생 개좇같이사는애들이 더 잘사는게 우연일까??? [1] 뒷통수한방(1.213) 09.08 78 0
2887716 석박사 논문재현 같은건 인맥 타야함. ㅆㅇㅆ(124.216) 09.08 70 0
2887715 홍혜걸, 여에스더 우울증 증세 고백 "한 줄 답장조차 힘들어" 발명도둑잡기(118.216) 09.08 216 0
2887712 “한국, 일본에 버릇없이 굴잖아”…日 유력 차기 총리의 인식 수준 충격 발명도둑잡기(118.216) 09.08 81 0
2887711 구현은 거의 암기임. 이게 응용보다는 암기인게... [5] ㅆㅇㅆ(124.216) 09.08 104 0
2887710 일본 일상 사진 [1] 프로외노자갤로그로 이동합니다. 09.08 92 0
2887709 인구도86억인구인데 심지어 악마새끼들이 더 잘삼 ㅋㅋㅋ 뒷통수한방(1.213) 09.08 55 0
2887708 뉴프로 고맙습니다 [7] ㅆㅇㅆ찡갤로그로 이동합니다. 09.08 111 0
2887707 친일파, 친미파 시인 서정주 자화상 발명도둑잡기(118.216) 09.08 63 0
2887706 빈부격차가 심해지면 진보주의자가 아무리 정치를 잘 해도 발명도둑잡기(118.216) 09.08 58 0
2887705 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥뽀송냥덩♥갤로그로 이동합니다. 09.08 70 0
2887704 학생이 쉐이더 알려달래서 아마 이번주말엔 쉐이더 알려줄듯? ㅆㅇㅆ(124.216) 09.08 81 0
2887703 "관광비자로 영어 가르치는 미국인 실태 조사라도 해야" 발명도둑잡기(118.216) 09.08 72 0
2887702 오늘 할 일 및 의뢰 [15] ㅆㅇㅆ(124.216) 09.08 172 0
2887701 농약 없이 레이저로 제초 발명도둑잡기(118.216) 09.08 61 0
2887700 인터넷은 거울로 삼기에는 무리다. 배구공(119.202) 09.08 70 0
2887699 클로드 이거 5시간 제한 초기화 시간 변경 못함? 프갤러(118.235) 09.08 65 0
2887697 ㄹㅇ 암것도 모르는 무지렁이가 앱개발하려면 얼마나 걸림? 프갤러(118.235) 09.08 81 0
2887696 한국 노동자들 미국에서 목화 따는 노예 됐네 발명도둑잡기(118.216) 09.08 76 0
2887695 “드라마에 꽂혀 ‘목사’…범죄조직 아니라는 ‘목사방’ 총책 김녹완의 변명 발명도둑잡기(118.216) 09.08 87 0
2887694 러스트 깔 때 삶의 희열을 느낍니다 ㅎㅎ [10] 나르시갤로그로 이동합니다. 09.08 108 0
2887693 오늘은 시간이 조금 나서 러스트 까기로 했어요 나르시갤로그로 이동합니다. 09.08 58 0
2887692 11년차 일본 외노자 월급입니다 [6] 프로외노자갤로그로 이동합니다. 09.08 175 0
2887690 다른팀 ㅈ같으면 한마디해도되냐? ㅇㅇ(211.234) 09.08 74 0
2887689 멍청해서 러스트 선택하는 건가요? 나르시갤로그로 이동합니다. 09.08 76 0
2887688 태어나도 남쪽에서 태어나래??ㅋㅋㅋ인생은 노력이야 ㅎㅎ 타이밍뒷.통수한방(1.213) 09.08 59 0
2887687 더이상 인생에 기대치가 없다. 열심히 살지 않는다. ㅇㅇ(223.38) 09.08 70 0
2887686 러스트는 개떡같은 언어입니다 나르시갤로그로 이동합니다. 09.08 60 0
2887685 내일부터는 즐거운 삶을 살아야지 [2] 주아갤로그로 이동합니다. 09.08 85 0
2887684 아키텍쳐 책 추천좀 ㅇㅅㅇ 뉴진파갤로그로 이동합니다. 09.08 70 0
2887683 요리는 어려워 배구공(119.202) 09.08 82 0
2887682 살빼야되는데 배구공(119.202) 09.08 64 0
2887681 똥싸고싶은데 배구공(119.202) 09.08 70 0
2887680 야동보고싶은데 배구공(119.202) 09.08 78 0
2887679 오락만들고싶은데 배구공(119.202) 09.08 80 0
2887678 컴퓨터 좀 하냐? [2] 배구공(119.202) 09.08 115 0
2887677 궁금한게있습니다.(취업관련) [3] 프갤러(112.160) 09.08 171 0
2887676 나님 외계인한테 호출 왓당.. ♥뽀송냥덩♥갤로그로 이동합니다. 09.08 68 0
2887675 [설계자 The Plot] 메인 예고편, [암수살인] 30초 예고편 발명도둑잡기(118.216) 09.08 70 0
2887674 [단독] 故김정주, 사후에 코인계좌 해킹당해… 85억어치 털렸다 발명도둑잡기(118.216) 09.08 90 0
2887670 컴공 4학년인데 언어 파이썬 몰빵하는 거 리스크 너무 큰가요? [9] ㅇㅇ(118.235) 09.08 260 0
2887667 짱구만봐도 일본여자 진실 알수있지않나 [1] ㅇㅇ(175.197) 09.08 95 0
2887663 이직하고 싶은데 언제쯤 나아지려나 ㅇㅇ(211.234) 09.08 87 0
2887662 펀쿨섹좌 차기 일본 총리 뭐노 [4] 아스카영원히사랑해갤로그로 이동합니다. 09.08 137 0
2887658 커널 드라이버 개발하는 게이 없냐 [2] 루도그담당(211.184) 09.08 100 0
2887657 아스카의 일일선행) [2] 아스카영원히사랑해갤로그로 이동합니다. 09.08 115 0
2887653 요즘 리눅스도 버그 존나 많음ㅋㅋ근데 리눅스뉴스에서는 소식이 아무도없음ㅋ 타이밍뒷.통수한방(1.213) 09.08 88 0
2887652 일 못쳐내는 동료 땜에 화딱지나네 [6] ㅇㅇ(211.234) 09.08 120 0
2887651 유닉스 환경(FreeBSD, 리눅스, 솔라리스) 30년 사용자가 말한다 [10] 나르시갤로그로 이동합니다. 09.08 117 0
2887649 개발자시상은 망하는데 판사연예인스포츠선수기상캐스터는 [1] 타이밍뒷.통수한방(1.213) 09.08 68 0
뉴스 김보경, 밝은 에너지에 가수 (2025 아산시청년의날) 디시트렌드 09.21
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2