디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 해외에서 겪는 불합리한 대우에 대응 잘 할 것 같은 스타는? 운영자 25/11/03 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48480 65
2900809 두트윈으로 이동 변화량 로직 만드는 중인데 [4] 루도그담당(58.239) 20:29 25 0
2900807 님들 실갤에 올라온거 봄? [4] ㅇㅇ(118.235) 20:27 29 3
2900804 헬마스터님 자꾸 이런식으로 비협조적으로 나온다면 저도 당신의 뉴프로에 [4] ㅆㅇㅆ(124.216) 20:16 34 0
2900802 원래 슈퍼스타는 빠와 까를 미치게 만듬. 근데 까가 존재한다? [2] ㅆㅇㅆ(124.216) 19:50 31 0
2900801 프로그래머는 원래 범재가 폐급 같아 보여 [2] 프갤러(110.8) 19:46 21 0
2900800 배 안고파서 저녁 안 먹구What더니 애매하넹.. [5] ♥KiTTY냥덩♥갤로그로 이동합니다. 19:39 26 0
2900790 범재가 아니라 폐급이잖냐 [1] ㅇㅇ(118.235) 18:57 22 0
2900784 아무래도 피곤해서 안되겠다. 바이브 해버려야겠다. [1] 프갤러(27.176) 18:26 28 0
2900783 🎬 [글로벌 AI Creator Challenge : 상금 $5000 Supercent(14.32) 18:25 13 0
2900782 프로그래밍은 천재는 많은데 나같은 범재도 할 수 있는 영역이 넓어서 좋아 ㅆㅇㅆ(124.216) 18:17 29 0
2900781 최근 업워크 330달러 의뢰 하나때문에 밤낮이 바꼈는데 ㅆㅇㅆ(124.216) 18:13 21 0
2900780 러스트 빌런이 많다고 한번 해볼까 혹하다니 한심하구나 [2] 프갤러(223.38) 18:12 34 0
2900779 러스트 백날 빨아야 소용없어 [1] 나르시갤로그로 이동합니다. 18:10 19 0
2900778 요새 의식적으로 코드 3할 이상은 무조건 타이핑으로 하려고 함 [2] ㅆㅇㅆ(124.216) 18:09 32 0
2900777 많이드세요. [1] 배구공(121.151) 18:04 25 0
2900776 나는 베트남 개발자가 한국 개발 대체가 힘들다 느끼는게 문화권 문제임 [3] ㅆㅇㅆ(124.216) 18:03 45 0
2900775 러스트 빌런 우스이로 개명함 [2] 헬마스터갤로그로 이동합니다. 17:49 37 0
2900774 나님 요즘 뿡야 우렁차게 잘 나오는듯? [1] ♥KiTTY냥덩♥갤로그로 이동합니다. 17:31 24 0
2900773 프로그래밍은 암달의 법칙 즉 시스템 전체의 성능은 ㅆㅇㅆ(124.216) 17:04 27 0
2900772 러스트로 웹할때 어차피 마샬링 비용때문에 핵심만 바꿈 [11] ㅆㅇㅆ(124.216) 16:59 54 0
2900771 이제보니 러스트 빌런이 하나가 아니었네 [6] 에이도비갤로그로 이동합니다. 16:57 57 0
2900770 한국 최초의 컴퓨터관련 서적 베스트셀러 [1] 배구공(121.151) 16:55 31 0
2900769 오늘 할 일 WPF UI 구현 ㅆㅇㅆ(124.216) 16:47 18 0
2900768 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ [1] ♥KiTTY냥덩♥갤로그로 이동합니다. 16:42 27 0
2900767 한국에서 태어난걸 감사해야지 이런말 계속 자주해라 타이밍뒷.통수한방(1.213) 16:20 25 0
2900766 하루종일 버그수정만 히고 리팩토링을 못하는구나. [4] 프갤러(218.154) 16:08 45 0
2900765 난 객체지향 공부하면서 가장 인상 깊었던 말이 [9] 루도그담당(58.239) 16:05 85 0
2900764 너네 꼭 소장 해야 한다고 생각하는 책 있음? [5] dsdf(106.246) 14:58 46 0
2900763 이재명 문재인보면 신기하게 추종자가 짱깨처럼 많음 [1] 타이밍뒷.통수한방(1.213) 14:31 40 1
2900762 똥은 피하는거임 ㅇ [1] 프갤러(1.213) 14:28 31 0
2900761 KG 아이티** 어떤가요 프갤러(218.48) 13:54 26 0
2900760 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥KiTTY냥덩♥갤로그로 이동합니다. 13:26 35 0
2900759 고졸 25살 국비 하면 병신임? [4] 프갤러(112.157) 13:25 63 0
2900758 사이드카 발동 기념 프갤러(49.165) 13:09 32 0
2900757 신기술에 마음이 설레 잠을 못자 [3] 나르시갤로그로 이동합니다. 13:02 42 0
2900756 진지하게 코딩으로 작품만들면 나라에서 보상을 해줌?? [8] 타이밍뒷.통수한방(1.213) 12:51 76 1
2900755 회사가 자바 1.5 이하 버전 쓴다고 하면 어떤 생각 드냐 [14] ㅇㅇ갤로그로 이동합니다. 12:40 97 0
2900754 한겨레가 진보 신문이 아닌 이유 [1] 발명도둑잡기(39.7) 12:37 61 0
2900753 자본주의는 좋은 것임 [2] chironpractor갤로그로 이동합니다. 12:29 47 0
2900752 트럼프가 ‘영화 관세’ 100% 꺼낸 진짜 이유 [디브리핑] 발명도둑잡기(39.7) 12:26 17 0
2900751 팔란티어 주가, ‘빅쇼트’ 마이클 버리 공매도 소식에 최대 10% 급락 발명도둑잡기(39.7) 12:15 24 0
2900750 프갤에서 백날 잘난척해야 소용없어 [4] 나르시갤로그로 이동합니다. 12:13 51 0
2900749 코스피 급락 4,000선 붕괴...매도 사이드카 발동 발명도둑잡기(39.7) 12:10 31 0
2900748 프갤에서 허숭세월 보내는 여러 님들 정신차려 [8] 나르시갤로그로 이동합니다. 12:07 56 0
2900747 젠슨황 깐부회동 뒤로는 엔비디아 주식 매각 [1] 발명도둑잡기(39.7) 12:07 49 0
2900746 내년 최저임금 올라도 실수령액 더 줄어드네ㅋㅋㅋㅋ 타이밍뒷.통수한방(1.213) 12:03 23 0
2900745 신기술 gui 툴킷에 대해 말하고 싶어 입이 근질근질 나르시갤로그로 이동합니다. 12:02 20 0
2900744 "우리 개가 당신보다 더 비싸" 주차관리원 모욕한 20대 벌금형 [1] 발명도둑잡기(39.7) 12:01 30 0
2900743 군 전역하면 25살 다 되는데 ㅇㅇ(117.111) 12:00 25 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2