디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 공개연애가 득보다 실인 것 같은 스타는? 운영자 25/10/06 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
2887466 상속은 다형성을 위해서 존재함. 다형성의 구현이 상속임.. [4] ㅆㅇㅆ(124.216) 09.07 125 0
2887465 이게 다형성이라는 걸 알아야하는데 그 다형성을 배제하고 [1] ㅆㅇㅆ(124.216) 09.07 87 0
2887464 이게 살짝 미안하다..내가 설명을 너무 못하노.. [6] ㅆㅇㅆ(124.216) 09.07 113 0
2887462 니가 준 코드가 틀린건 아닌데 [1] 루도그담당(58.239) 09.07 105 0
2887461 와 근데 씨발 존나 쉽게 생각했는데 설명이라는 그자체가 어렵노 [3] ㅆㅇㅆ(124.216) 09.07 106 0
2887460 상속은 what, 조합은 how ㅆㅇㅆ(124.216) 09.07 87 1
2887459 클래스 자체가 실체화 될 수 있는걸 [2] 루도그담당(58.239) 09.07 102 0
2887457 인생 되는것도 없고, 인생에 나아지겠단 생각, 기대를 버린지도 오래다. [1] ㅇㅇ(223.38) 09.07 72 0
객체지향 기본기가 덜 되있으니 쉽게 설명해줌 [2] ㅆㅇㅆ(124.216) 09.07 133 1
2887455 나도 저랬지 객체지향은 어려워 [3] 루도그담당(58.239) 09.07 98 0
2887453 러스트 공부하면 안되는 현실적 이유 [1] 나르시갤로그로 이동합니다. 09.07 95 0
2887451 이 문장 어때보이냐? 메쿠이료갤로그로 이동합니다. 09.07 73 0
2887450 추상화가 진짜 설명이 어려움..그냥 그게 있다 [25] ㅆㅇㅆ찡갤로그로 이동합니다. 09.07 236 0
2887449 가령 나 같은 경우에는 특정 쉐이딩 구현할땐 절차지향적 사고방식함 [6] ㅆㅇㅆ(124.216) 09.07 142 0
2887448 커널 드라이버 알아야 할게 너무 많네 루도그담당(58.239) 09.07 85 0
2887446 정확하게 말해서 지향이라는 방식을 이해해야함. [9] ㅆㅇㅆ(124.216) 09.07 182 0
2887444 프로그래밍 방법론이라는게 대단한게 있나 그냥 추상화 기법차이지 [1] ㅆㅇㅆ(124.216) 09.07 91 0
2887443 아버지 은퇴여행 400만원 플렉스 [7] 아스카영원히사랑해갤로그로 이동합니다. 09.07 138 1
2887442 RAG 붙여서 쓰니까 구형 모델도 존나게 내가 원하는 컨벤션 뱉네 ㅆㅇㅆ(124.216) 09.07 86 0
2887441 커널 드라이버 박치기 중인데 [2] 루도그담당(58.239) 09.07 92 0
2887440 솔직히 프로그래밍<<재능이 없어도 먹고 살게해주지 않냐 [9] ㅆㅇㅆ(124.216) 09.07 184 0
2887439 프로그래밍에 재능이 없지만 밥 벌어먹게 살게해주는 프로그래밍에 감사한다 [1] ㅆㅇㅆ(124.216) 09.07 92 0
2887431 형아들. if문 안에 있는게 하나뿐이면 {} 안써도 되지? [15] 투몽갤로그로 이동합니다. 09.07 131 0
2887417 싸가지 없이 굴지 말고 지금 당장 러스트를 공부 하십시오! [3] 프갤러(211.234) 09.07 114 0
2887415 재작년인가 작년에 RAG 공부하면서 느낀게 프갤러(183.98) 09.07 111 0
2887414 인생살아보면 착하고 성실하고 정직한새끼만 병신이더라 뒷통수한방(1.213) 09.07 84 0
2887413 오늘까지랍니다 ㅇㅇ(106.101) 09.07 125 0
2887412 간첤수가 빌게이츠보다 더 대단한 정치인 의사 보안회사 대표 타이밍뒷.통수한방(1.213) 09.07 72 0
2887410 한컴 ㄹㅇ 특이하누 타이밍뒷.통수한방(1.213) 09.07 110 0
2887409 [대한민국] '왜 좌파하세요'의 답 - 사이트 업데이트 네이버 블로그 연 프갤러(121.172) 09.07 82 0
2887407 다람쥐도 쥐로 취급함? [4] 메쿠이료갤로그로 이동합니다. 09.07 120 0
2887406 스스로를 죽이고 싶을만큼 삶 앞에 무력하고 힘이들때. ㅇㅇ(223.38) 09.07 71 0
2887404 아이디어 하나 더 생각났는데 어떰? [5] ㅇㅇ갤로그로 이동합니다. 09.07 113 0
2887402 새삼 트럼프 빅테크 모아놓고 회의한 거랑 전승절이랑 프갤러(211.210) 09.07 76 0
2887400 병신들아 버스 안에서 야동 보지 마라 [2] 아스카영원히사랑해갤로그로 이동합니다. 09.07 167 0
2887399 오늘 점심.jpg [2] 야옹아저씨갤로그로 이동합니다. 09.07 113 0
2887380 나는 돈벌게되면 일 제대로 못할듯 체력이 없음 이제 뒷통수한방(1.213) 09.07 66 0
2887379 김정은이 똑똑한건 인정해야지 [2] 야옹아저씨갤로그로 이동합니다. 09.07 113 0
2887378 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩의태양은밤에도빛난당♥갤로그로 이동합니다. 09.07 69 0
2887377 영어 할 줄 아세요? ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.07 96 0
2887376 파이썬 기초부터 초보입문자가 쉽게 배울수 있는 책 있나요? [3] 프갤러(223.39) 09.07 135 0
2887375 애플 이벤트 D - 3 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 09.07 84 0
2887374 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09.07 67 0
2887373 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09.07 101 0
2887372 취미로 프로그래밍(코딩) 배우고 싶은데... [14] 프갤러(223.39) 09.07 177 0
2887366 인지과학조져라 손발이시립디다갤로그로 이동합니다. 09.07 110 0
2887355 빌 게이츠가 직접 만든건 컴파일러인거임?? [1] ㅇㅇ(211.62) 09.07 129 0
2887352 됐다 완전한 RAG 만들었다. [1] ㅆㅇㅆ(124.216) 09.07 150 0
2887346 입천장 데였나봄 [1] 루도그담당(58.239) 09.07 94 0
2887344 보통 웹에서 선형대수 쓰는건 이런거 만들어. 내가 만든거 보여줌 [1] ㅆㅇㅆ(124.216) 09.07 147 0
뉴스 '퍼스트레이디' 도유, 조카 박서경까지 희생시키는 잔혹 권력자…강렬 존재감 입증 디시트렌드 10.03
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2