디시인사이드 갤러리

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

갤러리 본문 영역

서전트 페퍼는 봅니다.

laoshanlong갤로그로 이동합니다. 2011.09.01 15:13:17
조회 46 추천 0 댓글 5

abstract를 왜쓰냐는건... 객체지향에 대해 그다지 공부하지 않고 자바를 잡았기 때문이라고 생각하고 되는대로 설명함.


나도 좆 늅늅이라 설명이 부실할수도 있고 그러니까 자세한건 검색으로 알아보고.

여튼 글싼이가 물어본건 폴리모피즘이라는 요소때문에 필요한것임. 다형성이라고도 하는데 객체 지향의 주요개념들인 캡슐화 및 기타등등과 합쳐서 중요한부분중 하나임. 의문생긴김에 꼭 찾아서 공부해보도록.

일단 기본적으로 다형성이 왜 필요한가에 대한 존나 쉬운예를 들어보겠음. 일단 사자라는 클래스와 토끼라는 클래스가 있음. 이 둘은 동물이라는 동일한 카테고리로 묶일수있고. 동물은 먹는다라는 모두 동일한 행위를 수행함.

super: 동물
method: 먹는다(eat something)

child: 사자
method: 먹는다(eat meat)

child: 토끼
method: 먹는다(eat clover)

당연히 동물을 상속받은 사자와 토끼또한 먹는다라는 행위를 수행 할 수있음. 근데 문제는 사자는 고기를 먹고 토끼는 풀을먹는다는것임. 행위의 카테고리는 동일하지만 실제 수행되는 동작방식이 달라짐. 이런상황에서는 객체 지향성을 포기하고 사자와 토끼를 연관점이 없는 별개의 클래스로서 정의해서 해결할 수 있지만 이럴경우 두 클래스를 동일하게 컨트롤 할 방법이 없음. 이때문에 추상 메소드라는게 존재함.

super: 동물
abstract: 먹는다(eat something)

이렇게 먹는다는 메소드를 추상적으로 정의하게 되면 어떤것을 먹는지는 이 동물 클래스를 상속받는 자식클래스가 정의될때 결정됨. 당연히 동물 클래스는 추상메소드라는 모호한 동작을 갖기때문에 동물 자체로 객체가 생성될 수는 없고 자식클래스인 사자와 토끼를 묶는 카테고리로서 사용될 수 있음

동물 동물1 = 사자;
동물 동물2 = 토끼;

동물1.먹는다();
동물2.먹는다();

동일한 메소드를 호출했지만 자식에 정의된 메소드가 호출되어 상이한 동작을 하게됨. 따라서 추상메소드는 부모에서 선언되었다면 상속받는 자식은 반드시 정의해야만 하는것임.


그리고 글싼이 댓글중에 몇개 잘못된건 아니고 자바에서만 다르게 설명되는 부분이 있어서 부연설명하는대. 자바에서는 상속받는 별개의 클래스가 동일한 동작을 하게끔 만드는것은 추상클래스보단 인터페이스를 주로 사용함. 자바는 다중상속이 안되는대신 인터페이스라면 몇개라도 임플리먼트를 할수있기때문임.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
270186 횽들 c+에서 queue쓸때 앞에는 삽입 못함? [5] 인클루드(125.184) 11.09.06 49 0
270185 오늘개강파티했는데 三didas갤로그로 이동합니다. 11.09.06 63 0
270180 비주얼 c++ 2010 으로 프로그램 어찌만듬? [5] ㅇㅇ(218.53) 11.09.06 98 0
270178 낼 모래 출국 [2] 땡칠도사갤로그로 이동합니다. 11.09.06 71 0
270176 복학후 진짜 계속 머리만아프다 [4] 三didas갤로그로 이동합니다. 11.09.06 80 0
270175 형들 비주얼베이직6.0설치해야되는데 도와줘 [4] c언어도와줘(175.204) 11.09.06 437 0
270174 아 mingw이거 윈도7 64비트에선 안되나요?? [11] 군대지원(203.226) 11.09.06 122 0
270173 자바는 ejb가 진짜 배기지. 혼자 갖고노는건 하류급 [1] 쵸쵸(219.251) 11.09.06 49 0
270172 형들 자바에 db연동해서 프로그램 짜는게 어느정도 난이도야? [1] 21312(180.65) 11.09.06 106 0
270171 원래 워드프로세서라는 직업이 있었지 [9] 쵸쵸(219.251) 11.09.06 145 0
270170 그리고 php 로하로하알로하갤로그로 이동합니다. 11.09.06 51 0
270169 소시얼네트워크는 가식적인거같아서 꺼려짐 [4] ㅇㅇ(61.77) 11.09.06 85 0
270168 지금 XT 랑 도스 붓섹터 감염 바이러스 가따 주면 백신 만들 수 있겠냐 [2] 시불라미갤로그로 이동합니다. 11.09.06 71 0
270167 C 프로그래밍 파워업그레이드 처럼 C++도 있나요 [1] 구글리(115.145) 11.09.06 88 0
270166 네비게이션 이거 어떄? [8] 좋은아버지갤로그로 이동합니다. 11.09.06 126 0
270164 시뮬레이션에 대해 질문좀 [10] 흔한컴맹(183.103) 11.09.06 84 0
270163 php 가르켜준 형들 [8] 제길슨(202.31) 11.09.06 102 0
270160 아마존에서 책 사는거 원래 비싸? [1] ㅋㄱ(183.96) 11.09.06 50 0
270159 수정아... [1] SODMaster갤로그로 이동합니다. 11.09.06 60 0
270157 수정아... [2] SODMaster갤로그로 이동합니다. 11.09.06 53 0
270153 웹프로그래밍 할때 백지뜨는건 [17] Regi☆갤로그로 이동합니다. 11.09.06 180 0
270151 내 도스시절 프로그래밍 경험담 [2] Regi☆갤로그로 이동합니다. 11.09.06 122 0
270150 예전 프로그래머들은 낭만이 있었던거 같아.. 쿄스케갤로그로 이동합니다. 11.09.06 66 0
270148 monoless횽 퇴근중?? [3] blackd갤로그로 이동합니다. 11.09.06 46 0
270147 예비군 갔다옴.. [3] 쿄스케갤로그로 이동합니다. 11.09.06 51 0
270146 뭐물어볼때마다 구글찾아보라고할거면 그냥 구글한테 프로그램짜라고 하지 [6] ㅇㅇ(61.77) 11.09.06 99 0
270145 형들 윈도7 64비트에서 gcc를 32비트로 컴파일할수 있나요 [1] 군대지원(203.226) 11.09.06 80 0
270144 형들 학부생 시절에 프로그래밍 프로젝트 잘하셨음? 길가던놈갤로그로 이동합니다. 11.09.06 71 0
270143 직원 8명정도 되는 IT회사에 취직했는데 말입니다. [3] 뉴비(115.136) 11.09.06 244 0
270142 U클라우드 질문이요 [1] 인썸니아갤로그로 이동합니다. 11.09.06 34 0
270141 자바에서 현재 시간 디비에 넣는거 어떻게 하나요ㅠ [4] ㅇㅇㅇㅇ(203.244) 11.09.06 148 0
270140 우리나라 IT 멸망함 ^_^ 하드웨어든 소프트웨어든 다 망함 ㅊㅋ [3] ㅇㅇㅇㅁ(110.174) 11.09.06 148 0
270139 도스시절에는 프로그래머들 뭐하고 놀앗음요? [9] ㅇㅇ(61.77) 11.09.06 190 0
270138 애들아 나 플밍공부 놓고 [1] Adelposs갤로그로 이동합니다. 11.09.06 61 0
270137 리눅스 쫌쓰는 형들 의견좀 내봐 [16] 제길슨(183.106) 11.09.06 147 0
270136 뭐 하는 짓이냐 아스야.. y녀6디리(220.118) 11.09.06 41 0
270134 미치겠다 키가 거의다 멈춤.. 가격거품갤로그로 이동합니다. 11.09.06 62 0
270133 자바에서 쿼리 예외처리 관련 질문인데...아시는분답변좀... [1] ㅇㅇㅇㅇ(203.244) 11.09.06 42 0
270132 c++만 설치했는데 SQL은 왜깔려? [2] 저격甲갤로그로 이동합니다. 11.09.06 75 0
270127 UI는 샘숭 갤탭하고 비슷하네... [3] 분당살람갤로그로 이동합니다. 11.09.06 92 0
270126 안철수 옹은 길을 닦는 역할을 하는 거임. [2] 천재해커(121.190) 11.09.06 117 0
270125 그래픽스에대해 어떻게생각해? [6] deveun갤로그로 이동합니다. 11.09.06 151 0
270123 개발자 떡실신 시리즈 보니... 역시 외국으로.. [2] blackd갤로그로 이동합니다. 11.09.06 411 0
270120 아스보니힘이난다 [2] 호솽갤로그로 이동합니다. 11.09.06 72 0
270119 안드로이드 openCV예제가 이거맞아? arduous갤로그로 이동합니다. 11.09.06 96 0
270116 음모론... [3] iljeomobolt갤로그로 이동합니다. 11.09.06 164 0
270115 학교주변에선번호따지마 새키야 [5] Agangs갤로그로 이동합니다. 11.09.06 120 0
270113 호구왔능가? Agangs갤로그로 이동합니다. 11.09.06 45 0
270111 아 이런 책을 다시 사야 하나 ㅠㅠ 아이폰 어플 개발 좀 이상하네 거칠게갤로그로 이동합니다. 11.09.06 57 0
270107 이제 곧 가을이 오고 겨울이 오겠군 SantOS갤로그로 이동합니다. 11.09.06 53 0
뉴스 정동원, ‘걍남자’서 임영웅과 1박 2일 캠핑 여행 "찐형제 케미" 디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2