게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금]흐어... 이걸 어떻게 객체지향적으로 구현해야할지 막막합니다.
게시물ID : programmer_6717짧은주소 복사하기
작성자 : hrecipe
추천 : 0
조회수 : 411회
댓글수 : 3개
등록시간 : 2014/11/24 23:04:42
옵션
  • 본인삭제금지
(C++ 기준입니다)

******************* <step 1> ***********************
원래라면 각 객체 내의 어떤 정수값을 통해 

이중 배열에 각각 인덱스로 넣거나 
동작인덱스 = arr[a.value][b.value]; 

이중스위치문을 통해 

두 객체간의 상호작용을 두 객체의 각각의 성질에 따라 결정할 수 있었습니다. 
********************* <step 2> *********************

기존의 C에서는 구조체에 그 구조체의 종류를 구분하는 값을 담는 변수를 두고
스위치문이나 배열의 인덱스에 넣어 종류별 처리를 했지만, 

다형성을 언어적으로 지원하고부터는 
그 
int Type; 정수 대신 

class TYPE_NAME : public Object
{
public: 
 ...
}
로 처리할 수 있게 됐죠. 


******************* <step 3> ***********************
위에서 Type정수 대신 다형성을 통해 오버라이드로 함수를 바꾼 것처럼, 

두 개의 객체가 있을 때 그 상호작용의 동작을 결정하기 위해 

두 개의 정수 대신 다형성 기법을 통해 그 함수를 결정하도록 하고 싶습니다. 

어떻게 해야하는 걸까요...

몇 가지 고안해본 모델이 있기는 한데 좀 비이상적(?) 구조같아서 보류했습니다... 

고수분들 번거롭더라도 답변 부탁드립니다 ㅠㅠ 디자인패턴을 찾아봐도 찾기가 어렵더라고요... 제가 못찾을거일지도 모르지만... 

아무튼, 요약하자면 

다형성을 통해 같은 부모 아래에서 생겨난 임의의 두 객체간의 상호작용을 스위치문이나 배열 없이 결정하는 방법이 궁금합니다. 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호