디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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





2eec9e2cf5d518986abce8954785726fe7

이렇게 차가 있다 하자


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


차라는 걸 추상화한거


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


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



2eef9e2cf5d518986abce8954480746ab8


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


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


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


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


is-a 관계라는것


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


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


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


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





2eee9e2cf5d518986abce89547807768fb

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


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


has-a 관계는 무엇이냐


차 틀은 차지하고


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





2ee99e2cf5d518986abce8954486776bcd

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


컴포지션임



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


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


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


컴포지션 쓰라고 하는거


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


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






추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현대물보다 사극에서 더 빛나는 남자 배우는? 운영자 25/09/08 - -
AD 신학기 레벨업~!! 운영자 25/09/05 - -
2887513 천재소년 백강현 근황 발명도둑잡기(118.216) 09.07 71 0
2887505 요즘 공부도 질림 [3] 루도그담당(58.239) 09.07 47 0
2887504 저 아래 글 봐서 호기심에 들어가서봤는데 [3] ㅆㅇㅆ(124.216) 09.07 57 0
2887501 sf2000 툴체인 재개발은 중단된 듯 발명도둑잡기(118.216) 09.07 21 0
2887498 궤도가 유일하게 당황한 질문 발명도둑잡기(118.216) 09.07 18 0
2887496 디씨인싸이드 게시판을 보면서 늘 사생활 보호와 보안이 중요하다고 느낀다 [3] 발명도둑잡기(118.216) 09.07 37 0
2887487 ATM7501 용 리눅스 포팅 발명도둑잡기(118.216) 09.07 18 0
2887480 나님 퓨어..✨ 순수..⭐ ♥뽀송냥덩♥갤로그로 이동합니다. 09.07 27 0
2887475 나 의뢰 맡기고싶다 인강 추출 [8] ㅇㅇ(118.235) 09.07 85 0
2887469 조지아주에 대한 복수는 쿠팡에게 해야 발명도둑잡기(118.216) 09.07 23 0
2887468 약간 이런식으로 이해해라 프로그래머는 게을러 빠진 족속이라 ㅆㅇㅆ(124.216) 09.07 49 0
2887467 상속은 쓰레기입니다. 가능한 쓰지 마십시오. [1] 프갤러(110.8) 09.07 41 0
2887466 상속은 다형성을 위해서 존재함. 다형성의 구현이 상속임.. [4] ㅆㅇㅆ(124.216) 09.07 66 0
2887465 이게 다형성이라는 걸 알아야하는데 그 다형성을 배제하고 [1] ㅆㅇㅆ(124.216) 09.07 30 0
2887464 이게 살짝 미안하다..내가 설명을 너무 못하노.. [6] ㅆㅇㅆ(124.216) 09.07 53 0
2887463 오늘의 발명 실마리: 구형 휴대폰에 안드로이드TV OS 깔아 게임기로 발명도둑잡기(118.216) 09.07 18 0
2887462 니가 준 코드가 틀린건 아닌데 [1] 루도그담당(58.239) 09.07 46 0
2887461 와 근데 씨발 존나 쉽게 생각했는데 설명이라는 그자체가 어렵노 [3] ㅆㅇㅆ(124.216) 09.07 45 0
2887460 상속은 what, 조합은 how ㅆㅇㅆ(124.216) 09.07 27 1
2887459 클래스 자체가 실체화 될 수 있는걸 [2] 루도그담당(58.239) 09.07 41 0
2887458 다정함은 체력이다 발명도둑잡기(118.216) 09.07 16 0
2887457 인생 되는것도 없고, 인생에 나아지겠단 생각, 기대를 버린지도 오래다. [1] ㅇㅇ(223.38) 09.07 16 0
객체지향 기본기가 덜 되있으니 쉽게 설명해줌 [2] ㅆㅇㅆ(124.216) 09.07 66 1
2887455 나도 저랬지 객체지향은 어려워 [3] 루도그담당(58.239) 09.07 35 0
2887454 김종국 마누라는 얼마나 대단하신 분인데 꼭꼭 숨기나 [1] 발명도둑잡기(118.216) 09.07 118 0
2887453 러스트 공부하면 안되는 현실적 이유 [1] 나르시갤로그로 이동합니다. 09.07 34 0
2887452 “식물도 못 참는 스트레스”… 토마토, ‘초음파’ 비명 발명도둑잡기(118.216) 09.07 18 0
2887451 이 문장 어때보이냐? 메쿠이료갤로그로 이동합니다. 09.07 25 0
2887450 추상화가 진짜 설명이 어려움..그냥 그게 있다 [25] ㅆㅇㅆ찡갤로그로 이동합니다. 09.07 165 0
2887449 가령 나 같은 경우에는 특정 쉐이딩 구현할땐 절차지향적 사고방식함 [6] ㅆㅇㅆ(124.216) 09.07 77 0
2887448 커널 드라이버 알아야 할게 너무 많네 루도그담당(58.239) 09.07 38 0
2887446 정확하게 말해서 지향이라는 방식을 이해해야함. [9] ㅆㅇㅆ(124.216) 09.07 120 0
2887445 스스로를 괴롭혀야 다이어트가 성공하는 것인데 발명도둑잡기(118.216) 09.07 23 0
2887444 프로그래밍 방법론이라는게 대단한게 있나 그냥 추상화 기법차이지 [1] ㅆㅇㅆ(124.216) 09.07 32 0
2887443 아버지 은퇴여행 400만원 플렉스 [7] 아스카영원히사랑해갤로그로 이동합니다. 09.07 74 1
2887442 RAG 붙여서 쓰니까 구형 모델도 존나게 내가 원하는 컨벤션 뱉네 ㅆㅇㅆ(124.216) 09.07 25 0
2887441 커널 드라이버 박치기 중인데 [2] 루도그담당(58.239) 09.07 36 0
2887440 솔직히 프로그래밍<<재능이 없어도 먹고 살게해주지 않냐 [9] ㅆㅇㅆ(124.216) 09.07 109 0
2887439 프로그래밍에 재능이 없지만 밥 벌어먹게 살게해주는 프로그래밍에 감사한다 [1] ㅆㅇㅆ(124.216) 09.07 32 0
2887431 형아들. if문 안에 있는게 하나뿐이면 {} 안써도 되지? [15] 투몽갤로그로 이동합니다. 09.07 72 0
2887426 귀염감수성❤+ [1] ♥뽀송냥덩♥갤로그로 이동합니다. 09.07 39 0
2887422 "한국 계약 망칠거냐"…'현대차 신고' 美 극우정치인에 문자 폭탄 발명도둑잡기(118.216) 09.07 43 0
2887417 싸가지 없이 굴지 말고 지금 당장 러스트를 공부 하십시오! [3] 프갤러(211.234) 09.07 54 0
2887416 중앙아시아 지방에서 발달한 문화 발명도둑잡기(118.216) 09.07 19 0
2887415 재작년인가 작년에 RAG 공부하면서 느낀게 프갤러(183.98) 09.07 55 0
2887414 인생살아보면 착하고 성실하고 정직한새끼만 병신이더라 뒷통수한방(1.213) 09.07 33 0
2887413 오늘까지랍니다 ㅇㅇ(106.101) 09.07 67 0
2887412 간첤수가 빌게이츠보다 더 대단한 정치인 의사 보안회사 대표 타이밍뒷.통수한방(1.213) 09.07 19 0
2887410 한컴 ㄹㅇ 특이하누 타이밍뒷.통수한방(1.213) 09.07 52 0
2887409 [대한민국] '왜 좌파하세요'의 답 - 사이트 업데이트 네이버 블로그 연 프갤러(121.172) 09.07 25 0
뉴스 Mnet ‘보이즈 2 플래닛’, 2차 생존자 발표…세미파이널 진출자 24인 확정 디시트렌드 09.06
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2