디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 군대 예능 출연해 줬으면 싶은 여자 스타는? 운영자 25/09/15 - -
AD 가전디지털, 액세서리 SALE 운영자 25/09/12 - -
2890033 나님 애널 피궁해서 일찍 주무실게양⭐+ ♥냥덩이♥갤로그로 이동합니다. 09.18 32 0
2890032 지피티 볼드체 복사하면 병신아 마크다운 문법으로 ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 51 0
2890031 ㅆㅇㅆ의 심각한 확증 편향, 증거 유 나르시갤로그로 이동합니다. 09.18 33 2
2890030 후 시발 도저히 못참겠다. [2] 프갤러(42.18) 09.18 62 0
2890029 121.139가 나르시 아니라고? ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 36 0
2890027 ㅆㅇㅆ 볼드체 지울려고 자삭한거 아님? ㅋㅋㅋㅋㅋㅋㅋ [2] 프갤러(51.158) 09.18 68 2
2890026 일본에서 소설 원작 영화 <국보> 흥행으로 생각나는 예전 글 발명도둑잡기(118.235) 09.18 59 0
2890025 자, 이게 내 화면이다. ㅆㅇㅆ 차단해 놓은지 오래다 [2] 나르시갤로그로 이동합니다. 09.18 57 1
2890024 그간 현장 뛰냐고 피곤해서 한숨 자고 일어났더니.. ㅎㅎ 나르시갤로그로 이동합니다. 09.18 29 0
2890022 ㅆㅇㅆ아, 내가 전에 확인시켜준 IP랑 동일하지? 나르시갤로그로 이동합니다. 09.18 37 1
2890021 ㅆㅇㅆ 내가 원래 유동으로 글 안 쓰는데, IP 확인 시켜주마. [1] 나르시(112.168) 09.18 43 1
2890020 ㅆㅇㅆ아, 121.139가 내가 아닌 이유 알려주마 나르시갤로그로 이동합니다. 09.18 67 1
2890019 근데 여기 프로그래밍갤 맞음? ㅇㅇ(118.235) 09.18 38 0
2890018 ㅆㅇㅆ아.. 제발 착각하지마 나르시갤로그로 이동합니다. 09.18 46 1
2890017 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.18 30 0
2890016 Llm복붙쳐하면서 알지도 못하면서 신고삭제는 왜하냐 [1] ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 54 1
2890014 121.139 지 반박한거 싹다 신고했노 좆병신이ㅋㅋ ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 50 1
2890012 인텔리제이 울티메이트 시대는 끝났다 ㅇㅇ(223.38) 09.18 38 0
2890011 라이브코테하는데 경악하더라 ㅇㅇ(118.235) 09.18 111 0
2890009 우테코가 코테가 어려운편인가? ㅇㅇ(118.36) 09.18 104 0
2890008 html,css,javascript국비 일주일이면고수됨?? [1] 타이밍뒷.통수한방(1.213) 09.18 51 0
2890007 친구가 vim써야 타자수 올라가서 코딩 빨라진다는데 뭐냐 [2] 브르르브르르파타핌갤로그로 이동합니다. 09.18 55 0
2890006 32비트는 커널 패치를 해도 상관없는데 루도그담당(211.184) 09.18 40 0
2890004 나르시 루비 아니면 깃갤가서 놀아라 [1] 프갤러(175.208) 09.18 42 0
2890003 STA ㅈ같네 진짜 [2] ㅇㅇ갤로그로 이동합니다. 09.18 52 0
2890002 인간은 무의식적으로 추상화 레벨을 조절함. 내가 설명해준다. [2] ㅆㅇㅆ(124.216) 09.18 87 2
2890001 지옥에 있는 강유현 나와라 [3] 프갤러(121.190) 09.18 55 0
2890000 점마 루비인거 뻔히 보이는데 자꾸 시발 루비 빠는거보면 기가 참ㅋㅋ ㅆㅇㅆ(124.216) 09.18 36 0
2889996 인프런 강의 30% 할인이 가장 크게 할인 하는 거임? ㅇㅇ(211.234) 09.18 157 0
2889992 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09.18 36 0
2889991 러스트 코드는 왜 병신인가? [1] 나르시갤로그로 이동합니다. 09.18 44 0
2889990 저는 사실 고급인력입니다. 걧돈슈킹예아(119.202) 09.18 38 0
2889989 마시써 [1] 걧돈슈킹예아(119.202) 09.18 38 0
2889988 진짜 다들 회까닥 돌았지. llm이 코드 잘 짜준다고 언어를 정하다니 [1] 프갤러(218.154) 09.18 72 0
2889987 ㅋㅋㅋ ㅆㅇㅆ 이새끼 존나 골떄리는놈이네 [3] 프갤러(121.139) 09.18 152 6
2889986 회사코드 확 riir해버리고 싶다. [3] 프갤러(218.154) 09.18 52 0
2889985 나는 저능아이지만 [1] 걧돈슈킹예아(119.202) 09.18 42 0
2889984 러스트 시비거는 놈들도 개병신 저능아들만 시비 걸더라고 [3] 프갤러(218.154) 09.18 47 0
2889983 인생 개좇되로 사는새끼들이 더 잘사누 우연일까 뒷통수한방(1.213) 09.18 33 0
2889982 나는 왜 좆 저능아새끼들이 시비걸까 [4] ㅆㅇㅆ(124.216) 09.18 76 0
2889981 저능아들이 AI가 망치로 때린다는 뜻을 의미를 이해 못함 원리를 몰라서 ㅆㅇㅆ(124.216) 09.18 75 0
2889979 결국 ai근간 자체가 경사하강법이라 ㅆㅇㅆ찡갤로그로 이동합니다. 09.18 48 0
2889978 AI 쓸수록 결국 프로그래밍 추상화 방법 잘 아는 내 가치가 올라서 좋아 [2] ㅆㅇㅆ(124.216) 09.18 90 0
2889977 하루에 오조오억줄 감사의 코딩 [6] 공기역학갤로그로 이동합니다. 09.18 74 0
2889976 대학생으로 다시 돌아간다면 [3] 루도그담당(118.235) 09.18 54 0
2889975 필연적으로 느끼는게 AI 쓰는 사람이 많아질수록 내 가치가 오름 ㅆㅇㅆ(124.216) 09.18 50 0
2889974 요즘은 LLM CLI 세팅 자체를 그냥 자동화해놓으니 이거 관련한 문의가 [2] ㅆㅇㅆ(124.216) 09.18 71 0
2889973 옛날에 알고지내던 친구 [1] 루도그담당(118.235) 09.18 58 0
2889972 LLM cli 깔아서 자동으로 홈페이지 만드니까 애들이 신기해하더라 ㄹㅇ [2] ㅆㅇㅆ(124.216) 09.18 77 0
2889971 자바 버전 25인게 웃음벨이네 [1] 헬마스터갤로그로 이동합니다. 09.18 59 0
뉴스 ‘발라드 황제’ 신승훈, 데뷔 35주년 맞이 ‘불후의 명곡’ 귀환! 데이브레이크-정준일-임한별-허각-조째즈 등 출격! 디시트렌드 09.19
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2