인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Windfall님의 프로필 이미지
Windfall

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

함수 객체

함수객체가 굳이 필요한가요??

작성

·

209

0

함수 객체를 가만 보아하니

예를 들어 Knight클래스가있다하면  MoveTask같은 클래스 말고 그냥 Knight 클래스안에

플레이어의 좌표를 넣어놓고 move메소드같은것도 하나 만들어두고

Knight에서 꺼내쓰면 되지않을까 라는 생각이 듭니다

함수 포인터는 되게 좋구나 라는 생각을 했는데

함수객체는 띠용? 하는 느낌이좀 드네요

혹시 생각을 잘못하고 있는걸까요??

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

예를 들어 Knight클래스가있다하면  MoveTask같은 클래스 말고 그냥 Knight 클래스안에
플레이어의 좌표를 넣어놓고 move메소드같은것도 하나 만들어두고
Knight에서 꺼내쓰면 되지않을까 라는 생각이 듭니다

-> 네 그런데 이게 사실 함수 객체의 개념과 유사합니다.
함수 (기능) + 객체 (데이터)을 동시에 갖고 있는거죠.
물론 Knight 객체를 바로 사용하면 되지,

굳이 따로 함수 객체를 만들 필요가 있을까 싶지만
게임에서 User 객체 (Knight 객체)는 엄청 사이즈가 커질 수 있습니다.
정말 딱 필요한게 이동함수 + 좌표2개라면,
게다가 심지어 해당 기능이 Knight와 무관하다면
별도의 클래스를 파는게 훨 낫겠죠

Windfall님의 프로필 이미지
Windfall

작성한 질문수

질문하기