디시인사이드 갤러리

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

갤러리 본문 영역

책에서 나오는 인터페이스와 실전에서의 인터페이스 사용

닥치고뉴비갤로그로 이동합니다. 2011.10.04 21:36:21
조회 43 추천 0 댓글 0

학부생때나 혹은 책을통해 공부할때
인터페이스를 보고 실제로 쓰게 되는일은 매우 적다.

회사에 들어가도 인터페이스를 사용하지 않는 선임들이 대다수이다.

인터페이스를 쓰지 않는다고 기능구현이 안되는것도 아니고,
쓰자니 번거로울 뿐이다.

그 이유는 왜 써야되는지를 모르기때문.

책에서 나오는 예재들도 너무 단편적이라 코딩에 대한 이해뿐이지, 응용에대한 이해는 하나도 되지않는다.

예를들어 냉장고나 텔레비전 같은 기기를 클래스로 모델링하고
어떤 모델은 A라는 기능이되고, 어떤기능은 B 기능이 된다치자.

책에서는 보통 이런 문제를 상속으로 해결한다.
또는 제품군대로 인터페이스를 뽑아 해결하기도한다.
하지만 상속이나 이런 인터페이스 활용정도로 해결 될 문제일까?

지금 진행하고 있는 프로젝트는 많은 디바이스를 제어해야한다.
각 디바이스는 각각의 클래스로 모델링 되어있고.
디바이스들 끼리는 공통되는 제품군도 있고, 상이한 제품들도 많다.

기기별로 카운팅을 진행해야한다던지, 특정 상태값만 카운팅 해야한다던지
또는, 이러한 일렬의 작업이 필요할때, 그 수많은 클래스들을 어떻게 핸들링 할 것인가.

방법은 간단하다. 기능 하나하나를 인터페이스로 묶고(프로퍼티 한개당 인터페이스 한개)
(절대로 클래스/인터페이스/코드파일이 늘어는걸 두려워하지말자, 코드수가 제한이 있는 플랫폼이 아니라면)

그룹핑이 필요한 인터페이스는 인터페이스들을 모아 그룹으로 묶는다.
행위가 필요한 메서드에서는 각각의 기능별로 캐스팅 여부를 확인하여 작업을 진행하면된다.
차라리 이러한 예제를 보여주는게 더 인터페이스를 응용하기에 적합하다.

그 외에도 인터페이스를 활용할 수 있는 부분은 무한하다.
대부분의 디자인 패턴또한 인터페이스를 활용하면 용이하다.

클래스 상속개념으로도 구현할 수 있는 패턴들이 많지만.

전에 이야기 했듯이, 상속보다는 포함이 낫다.
(상속을 제제하라기보다, 상속을 진정으로 써야하는 경우를 잘 판별해야한다.)

지금 당장이라도 자주사용하는 팩토리 패턴정도라도 인터페이스를 사용하여 코딩해보길 권장한다.
또 인터페이스의 사용이 익숙해짐에따라 public사용을 자제해보도록하자.


1줄요약 : 인터페이스 찬양

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 연예인 안됐으면 어쩔 뻔, 누가 봐도 천상 연예인은? 운영자 24/06/17 - -
292339 헤헤 나의 피코 다 받았다. [1] Lover♥갤로그로 이동합니다. 11.12.03 45 0
292336 이거 하나 해주실분 20만원 드림 프갤했(203.226) 11.12.03 76 0
292335 스윙좀 하시는 분 계신가여 [2] Lover♥갤로그로 이동합니다. 11.12.03 67 0
292334 html5 canvas 크기 동적으로 변경시키려면 어캐해야함??? [3] ㅁㄴㅇㄹ(115.137) 11.12.03 83 0
292331 공비님 [1] 으어(114.70) 11.12.03 103 0
292330 계산이론 과제대행구해요.. ㅜㅜ (단가 엄청 셈) [3] 폐인의세계갤로그로 이동합니다. 11.12.03 295 0
292329 c++ 랑 api 연습하려는데 [1] 오늘내일(1.244) 11.12.03 72 0
292328 C++ 간단한 과제 부탁드려여~*^^* 피자 쏴드림 [2] ㄱㄴㄴ(183.102) 11.12.03 98 0
292327 C++ 과제대행구해요.. ㅜㅜ [15] 으어(114.70) 11.12.03 230 0
292326 음... 찝찝한 코드... [7] Lover♥갤로그로 이동합니다. 11.12.03 87 0
292325 안녕하세요. 프로그래밍 경력자 입니다...~~ [6] 재밌는아이(219.255) 11.12.03 120 0
292324 ddos에 대한소소한 궁금증점 풀어주세요 [5] 미룬(59.3) 11.12.03 87 0
292323 프갤느님들 프로그램좀 도와줘요 간단한거임 ~~ !! [14] 그분!!(211.177) 11.12.03 119 0
292322 프겔은 뭐다 므해?갤로그로 이동합니다. 11.12.03 54 0
292321 구문 오류 질문 좀 도와줘 형들..ㅜㅜ [9] 왜안돼는거야(175.210) 11.12.03 63 0
292320 형들 엄청 궁금한 질문 하나만 받아줘..ㅜㅜ [5] 푸르스름하다(123.214) 11.12.03 94 0
292319 C 열강 정도 2번 정독하면 C어느정도로 하는거야?? [5] ㅇㅇ(118.176) 11.12.03 150 0
292318 c++로 게임만드는걸 하고 있는데 [1] ㅇㅇㅇ(121.128) 11.12.03 90 0
292317 포토샵 스머지효과(손가락도구) 구현은 opengl로 하는겁니까? [3] 잇훙(203.255) 11.12.03 118 0
292315 전기료 4.5%인상으로 괜히 전기나 소비하는 프로그래머들이 없어졌으면 함 [5] ㅇㅇ(121.133) 11.12.03 144 0
292314 주말에 너무 안 놀았더니 뭐하고 놀지 모르겠다 폐인의세계갤로그로 이동합니다. 11.12.03 51 0
292312 나 컴공 다니는데 전과라는 기회가 찾아왔다 [6] dsegr(116.123) 11.12.03 217 0
292311 형들 이거하고모배워야댐 복룡갤로그로 이동합니다. 11.12.03 30 0
292310 형들 이거 코드 잠깐만 봐줘 간단한거임 [4] ㅇㅁㅎㄶ(221.155) 11.12.03 68 0
292309 프밍갤 분들 혹시 IT관한책 감명깊은거나 읽은거추천좀해주세요 [1] 페이탄'갤로그로 이동합니다. 11.12.03 80 0
292308 파이썬공부 시작함 [4] 폐인의세계갤로그로 이동합니다. 11.12.03 162 0
292307 지옥같은 1주일이 지나고 이제는 좋은아버지갤로그로 이동합니다. 11.12.03 35 0
292306 html,자바스크립트에서 이미지파일 '다운로드'어떻게 함여? ㅇㅇㅇ? [1] ㅇㅇㅇ(121.144) 11.12.03 97 0
292305 아 미치겠네 진짜 ㅡㅡ 횽들 제발 헬프좀 아오늘(1.244) 11.12.03 3088 0
292304 임베디드 진로에 질문있습니다. [3] (218.209) 11.12.03 120 0
292303 나 서울에서 SQL호프라는 가게를 봤어 [10] 분당살람갤로그로 이동합니다. 11.12.03 218 0
292302 형들..도와줘..액세스2010... 김비니(175.115) 11.12.03 36 0
292301 치킨집 차릴때 어디가 좋나 [2] 갤청소부갤로그로 이동합니다. 11.12.03 82 0
292300 훃들 v3게임 핵킬로 바이러스 검사하는데 @조공.jpg@ ㅂㅈㄷ(112.166) 11.12.03 120 0
292298 님들 데이터입력 받을때 꼭 최대값을 설정해야하나여? [1] 금고래갤로그로 이동합니다. 11.12.03 40 0
292292 저희 회사 작은 회사인데 있을건 다있네요 치킨맛맛폰갤로그로 이동합니다. 11.12.03 138 0
292291 [필독] 공대생이 공감할 그들이 위대한 이유 EnjoyCode(220.87) 11.12.03 142 0
292288 16진법 컴퓨터가 있나요? ㅁㄴㅇㄹ(112.185) 11.12.03 45 0
292287 오 12월 되니까 에드몹 단가가 좀 올랐넹 [1] 시불라미갤로그로 이동합니다. 11.12.03 83 0
292286 오오 지금 세미나 왔는데 돈벌었다 [5] 쿄스케갤로그로 이동합니다. 11.12.03 136 0
292285 엑셀 countif 좀 도와줘 [3] 엑셀밥(183.97) 11.12.03 61 0
292284 프로그래밍 잘하는 횽들좀 도움부탁 [1] 고전게이머갤로그로 이동합니다. 11.12.03 92 0
292283 아 OS수업 프로젝트 너무 어렵다 ㅠㅠ [2] 오르막갤로그로 이동합니다. 11.12.03 103 0
292280 안드로이드가 하드웨어비해 느리다고 하잖아 [2] 섹스맨(218.152) 11.12.03 97 0
292279 ActiveX 있어야만 쓸 수 있는거 뭐뭐 있음요? 아는대로 갈켜주셈요. [4] ㅇㅇㅇ(121.144) 11.12.03 61 0
292278 도와줘요 안도와줄꺼면 누르지도마세요 [5] 도와줘요!!(61.72) 11.12.03 114 0
292277 역사는 반복되는 것 같아 [2] -ㅂ-(183.102) 11.12.03 79 0
292276 죄송하지만 쓸모없는질문드려봅니다 궁금해서요.. ㅇㄷㅇ(211.114) 11.12.03 55 0
292274 횽들 오랜만 Re-FEEL갤로그로 이동합니다. 11.12.03 18 0
292272 우리회사 신입사원 면접이야기.. [2] K(180.65) 11.12.03 296 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2