디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
2888422 국수 비싸다 뒷통수한방(1.213) 09.12 104 0
2888415 직업이 없는데 결정사. 살다살다 황당해서, [2] 넥도리아(220.74) 09.12 172 0
2888414 저의 사생활입니다. [1] 넥도리아(220.74) 09.12 190 0
2888411 ㅋㅋㅇ 엔터 부문 쪼개기 상장을 위한 빌드업 ㅇㅇ(110.70) 09.12 136 0
2888409 작은 컵라면 이미 하나 먹었는데 또 먹을까말까 ㅅㅂ ㅇㅇ(223.39) 09.11 101 0
2888408 닮았지? [1] ㅇㅇ(121.168) 09.11 118 0
2888402 주말에 강릉에 비 온다는데 도랏네 야옹아저씨갤로그로 이동합니다. 09.11 88 0
2888400 애널의달성 2///4(2,3) ♥냥덩이♥갤로그로 이동합니다. 09.11 147 0
2888399 런닝머신뛰뛰 VS 한강뛰뛰 ♥냥덩이♥갤로그로 이동합니다. 09.11 141 0
2888398 좇센징 개발자들 특이한게 리눅스를 욕함 [1] 뒷통수한방(1.213) 09.11 174 0
2888397 내일 난생 처음 법원에 갑니다. 20살때 산 블레이저 처음 입어보겠어요. ㅇㅇ(58.239) 09.11 109 0
2888396 [애니뉴스] 블로그 서치! 디자인 공개! 프갤러(121.172) 09.11 182 0
2888391 4대 부캠이 뭔가요? ㅇㅇ(223.39) 09.11 175 0
2888390 컴퓨터로 야구 동영상 보다 보니, 자주 멈춤. 이 밤에도 트는중... [1] 넥도리아(220.74) 09.11 133 0
2888389 요즘 프갤 완전히 죽은듯? [5] ♥냥덩이♥갤로그로 이동합니다. 09.11 243 0
2888387 다른 직종보다 프로그래머 연봉이 많은 이유가 뭐냐? [2] 프갤러(59.16) 09.11 235 0
2888384 코파일럿 진짜 무서운 새끼네 프갤러(220.77) 09.11 210 0
2888382 냥덩이가 알려주는 다이어트 뛰뛰 비법 ⭐ ♥냥덩이♥갤로그로 이동합니다. 09.11 128 0
2888380 회사 복포 120만원 쌓였는데 현금깡 어케 함 [1] 아스카영원히사랑해갤로그로 이동합니다. 09.11 161 0
2888377 방금 스스로 감탄함 [1] 아스카영원히사랑해갤로그로 이동합니다. 09.11 165 0
2888375 근데 카페24 쓰는것도 쇼핑몰 만드는것만큼 좆같아 프갤러(110.8) 09.11 191 0
2888374 쇼핑몰 으음 조금 좆같지. 프갤러(110.8) 09.11 113 0
2888373 주소표시줄 query에 id넣는 거 웹사이트 운영자가 하는거임? ㅇㅇ(118.235) 09.11 108 0
2888372 근데 게시판 왜 만드는거임 ?? 자칭 노예할려고?? 차라리 쇼핑몰 뒷통수한방(1.213) 09.11 133 0
2888371 ■요즘 신입 대세포폴이 뭐임? [2] ㅇㅇ갤로그로 이동합니다. 09.11 219 0
2888370 악마 레전드....jpg [1] ㅇㅇ갤로그로 이동합니다. 09.11 170 0
2888369 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.11 106 0
2888368 연봉 10억인데 남는게없다. 프갤러(121.139) 09.11 107 0
2888364 트럼프 최측근 죽었다는데 루도그담당(58.239) 09.11 107 0
2888361 충격적임.. ♥냥덩이♥갤로그로 이동합니다. 09.11 90 0
2888355 3개월 계약직후 정규직 전환이라는데 [4] 프갤러(58.29) 09.11 160 0
2888353 월600벌면서 남는게없다는새끼들 패고싶지않음??놀리는거맞지?? [3] 타이밍뒷통수한방(1.213) 09.11 136 0
2888352 [애니뉴스] 귀인환등초 22화 감상 프갤러(121.172) 09.11 98 0
2888351 거 씨발 러스트 쓰기 되게 힘드네 프갤러(211.234) 09.11 117 0
2888349 IT업계 최악의 도메인 == 의료/헬스케어 [12] ㅇㅇ(106.102) 09.11 213 1
2888347 태어나지 말았어야한다 프갤러(211.234) 09.11 99 0
2888345 외주하면 러스트 써도 되냐? [2] 프갤러(218.153) 09.11 142 0
2888344 원래 남이 짠 코드 보면 이해가 안되고 좀 좆같은게 있음. [1] 프갤러(218.153) 09.11 183 0
2888343 [대한민국] 찰리 커크 - 프갤러(121.172) 09.11 89 0
2888342 흠.. ♥냥덩이♥갤로그로 이동합니다. 09.11 124 0
2888340 외주색기들 코드보면 차라리 바이브코딩이 낫지 [2] ㅇㅇ갤로그로 이동합니다. 09.11 184 0
2888338 회사에서 일 개판쳐서 잘린사람 강의하고 다니네 [4] ㅇㅇ(121.190) 09.11 187 2
2888337 비전공자 늙은이 이직성공 했다 질문받음 [16] 프갤러(219.251) 09.11 362 0
2888335 23살 전자과 인생... 앞날이 막막하고 먹고살 길이 안보입니다... [1] 프갤러(49.165) 09.11 216 0
2888334 ■요즘 신입 대세포폴이 뭐임 [3] ㅇㅇ갤로그로 이동합니다. 09.11 254 0
2888333 riscv사고싶은데 마음에 드는것들이 없음 [2] 뒷통수한방(1.213) 09.11 125 0
2888332 주작기 한번 만들어봤는데 너무 비싸네 [3] 프갤러(125.139) 09.11 151 0
2888330 질문하나 드려요 [3] 7월갤로그로 이동합니다. 09.11 122 0
2888328 요즘 필드에서 nestjs 씀? [2] 뉴진파갤로그로 이동합니다. 09.11 168 0
2888327 리눅스 왜씀? [18] 프갤러(49.165) 09.11 231 8
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2