디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
278135 프로그래밍이 좋긴 한데 [2] ?(124.199) 11.10.05 103 0
278132 나도 후임은 여자가 왔으면 좋겠다... 되도록 개발 못하는.. [1] 쿄스케갤로그로 이동합니다. 11.10.05 124 0
278130 파워usb대결 한국대 미국편 [4] ㅇㅇ(61.77) 11.10.05 76 0
278128 아 새로 산 청바지 쪼인다 어떡해갤로그로 이동합니다. 11.10.05 48 0
278127 지금 오라클 책보고 있는데 말이지 함수부분 보고 있는데 [2] 좋은아버지갤로그로 이동합니다. 11.10.05 72 0
278126 실습식으로c언어 공부하는게좋을까? 그냥 강좌 다본후 만드는게더좋을까 [3] forhappiness갤로그로 이동합니다. 11.10.05 70 0
278125 야호 월급 들어옴 [7] 좋은아버지갤로그로 이동합니다. 11.10.05 124 0
278122 갤러들아 문제좀하나 풀어줘바 풀지를 못하겟어 [11] 컴갤(124.63) 11.10.05 92 0
278121 슨상님들 C++가 C의 확장팩이면 C++확장팩은 C += 2? [2] lol(110.174) 11.10.05 84 0
278120 이참에 애플 사버릴까? [1] 좋은아버지갤로그로 이동합니다. 11.10.05 64 0
278119 출 to 더 근 아 근데 오늘은 마음이 다른 날보다 다르다. 좋은아버지갤로그로 이동합니다. 11.10.05 31 0
278118 아이폰4s 관련 언플 쩐다 [2] 전간디갤로그로 이동합니다. 11.10.05 113 0
278117 애플.. 어제 아이폰 4s는 실망이네.. [5] 쿄스케갤로그로 이동합니다. 11.10.05 99 0
278116 중대 기상하십시오! [1] 이힝(121.177) 11.10.05 72 0
278115 operating system concepts 8판 번역 언제 발매될까? dd(59.30) 11.10.05 113 0
278113 디시앱보다 디시모바일페이지가 편한거 같다 SODMaster갤로그로 이동합니다. 11.10.05 43 0
278112 (c언어)이게 왜잘못됨? [3] forhappiness갤로그로 이동합니다. 11.10.05 83 0
278111 객체지향을 너무 어렵게 생각할 필요는 없는 것 같다. [1] 바보플머(119.207) 11.10.05 85 0
278110 c/c++ 쓰레드풀 구현된거 없음?? [1] 늅늅늅(114.71) 11.10.05 93 0
278108 형들 도아줰ㅋㅋㅋㅋㅋㅋㅋ [3] 리핀(180.182) 11.10.05 59 0
278104 스마트폰은 너무 크게만 나온다 막장갤신학생갤로그로 이동합니다. 11.10.05 50 0
278103 이번 아이폰 발표는 소프트웨어 위주구만 [2] 거칠게갤로그로 이동합니다. 11.10.05 98 0
278102 Objective - C 하고있는데 [1] LPrine갤로그로 이동합니다. 11.10.05 71 0
278101 아잉폰 생중계 보고 싶으면 클릭해라 거칠게갤로그로 이동합니다. 11.10.05 39 0
278100 Fortran 기초 제발 도와저.. 자고 싶어 [6] 아..(125.208) 11.10.05 83 0
278099 횽들 foundations of Algorithms 솔루션있는 사람있어? [1] 호구왔는가(27.117) 11.10.05 533 0
278097 이거 좀 해석해줘 아무리 책을 봐도 모르겠다. [3] 좋은아버지갤로그로 이동합니다. 11.10.05 84 0
278095 횽들 좀 도와줘. 포트런인데 첨배워서 뭐가 뭔지 모르겠어.. 진짜 기초야 [14] 아..(125.208) 11.10.05 94 0
278094 아씨`발 띠껍다 폰번만으로 위치추적가능? [38] ㅁㄴㅇ(112.172) 11.10.05 366 0
278093 뭐야 아이폰 발표 생중계 안하네?? [1] 거칠게갤로그로 이동합니다. 11.10.05 50 0
278092 난이제자러감 [3] 三didas갤로그로 이동합니다. 11.10.05 51 0
278091 c언어 기초문법다띄고선 뭐만들어야지 아 애 제대로 공부했구나함? [5] 박구갤로그로 이동합니다. 11.10.05 88 0
278089 유군 [2] 三didas갤로그로 이동합니다. 11.10.05 35 0
278088 난 솔직히 마음이 그래 [14] 좋은아버지갤로그로 이동합니다. 11.10.05 132 0
278087 프로그래머 님들 꼭봐주세요 개인입니다 (장난사절입니다) [7] 양성윤(58.234) 11.10.05 90 0
278086 착한 여자와 결혼하고 싶다. 거칠게갤로그로 이동합니다. 11.10.05 80 0
278084 곧 있으면 아이퐁 5 발표된다. [1] 거칠게갤로그로 이동합니다. 11.10.05 50 0
278083 좋은아버지횽은봅니다 [4] 三didas갤로그로 이동합니다. 11.10.05 58 0
278082 심슨 21기 15화 (여자는 어려워..) [5] 밤이네..갤로그로 이동합니다. 11.10.05 242 0
278080 왜 한국 프로그래머는 0~ 100까지 다 해야하는가? [8] 거칠게갤로그로 이동합니다. 11.10.05 250 0
278079 우리 엄마 아빠 세탁소를 14년동안 하셧는데 [3] 좋은아버지갤로그로 이동합니다. 11.10.05 102 0
278077 형들 씨언어 헬로월드! 에서부터 막혔어연 ㅠㅠ [1] 씨몽키(121.181) 11.10.05 118 0
278075 살춤이는 나랑활동시간이 같은듯 [3] 三didas갤로그로 이동합니다. 11.10.05 46 0
278074 상양 허세 쩌네 이힝(121.177) 11.10.05 45 0
278073 그래도 난 진짜 좋다 [7] 좋은아버지갤로그로 이동합니다. 11.10.05 84 0
278072 하이킥 보는 겔러 있음?? 거칠게갤로그로 이동합니다. 11.10.05 46 0
278071 cpp this포인터에 대해 질문여 [3] ㅁㄴ(182.214) 11.10.05 66 0
278069 와 컴파일러 과목 [3] 이모군(175.114) 11.10.05 83 0
278068 형들아 소프트웨어 공학에 나온는 명세서에 대해 좀 물어볼꼐 [1] 1313(223.222) 11.10.05 53 0
278067 c언어 띄고 다음은 어떤언어배울까 [5] 박구갤로그로 이동합니다. 11.10.05 86 0
뉴스 정동원, ‘걍남자’서 임영웅과 1박 2일 캠핑 여행 "찐형제 케미" 디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2