2024/02/05 3

정적 멤버와 상수 멤버

정적 멤버 변수 C++에서 정적 멤버란 클래스에 속하지만, 객체 별로 할당되지 않고 클래스의 모든 객체가 공유하는 멤버를 의미한다. 멤버 변수가 정적(static)으로 선언된다면, 해당 클래스의 모든 객체에 대해 하나의 데이터만 유지 관리된다. 정적 멤버 변수는 클래스 영역에서 선언되지만, 정의는 파일 영역에서 수행된다. 이러한 정적 멤버 변수는 외부 연결 (external linkage)을 가지므로, 여러 파일에서 접근할 수 있다. 정적 멤버 변수에도 클래스 멤버의 접근 제한 규칙이 적용되므로, 클래스의 멤버 함수나 프렌드만이 접근할 수 있다. 하지만 정적 멤버 변수를 외부에서도 접근할 수 있게 하고 싶으면, 정적 멤버 변수를 public 영역에 선언하면 된다. 다음 예제는 모든 Person 객체가 같..

컴포넌트 패턴

컴포넌트 패턴이란? 컴포넌트 패턴 혹은 컴포지션(Composition) 패턴이란 미리 만들어진 부품을 조립하여 완성된 오브젝트를 만드는 방식이다. 여기서 미리 만들어진 부품을 컴포넌트라 부르며, 컴포넌트는 저마다의 대표 기능을 지닌다. 컴포넌트 패턴에서 게임 오브젝트는 속이 빈 껍데기이다. 개발자는 빈 게임 오브젝트에 컴포넌트를 조립하여 새로운 기능을 추가할 수 있다. 상속기능에만 의존하여 자식 클래스를 만들다 보면 빼야할 기능과 추가해야 할 기능이 갈리게 된다. 프로그래머만이 부모 클래스를 확장하여 새로운 자식 클래스를 만들게 된다면 프로그래머와 기획자 혹은 디자이너 팀이 번거로울 것이다.. 때문에 상속에만 의존하여 게임 개발을 할 때, 대표적으로 생기는 문제점은 다음과 같다. 1. 오히려 코드를 재사..

Unity 2024.02.05

Unity 기본 설정

Unity에서 주로 쓰이는 창 여섯 개를 메인 창이라고 한다. Scene 씬창 : 씬은 게임 월드인 씬을 시각적으로 편집하는 창 Hierarchy 하이어라키 창 : 씬에 존재하는 모든 게임 오브젝트가 나열되는 창 Inspector 인스펙터 창 : 선택한 게임 오브젝트의 정보가 표시되는 창 Game 게임 창 : 플레이어가 실제로 보게 될 화면을 띄우는 창 Project 프로젝트 창 : 프로젝트에 사용할 에셋들이 표시되는 창 Console 콘솔 창 : 로그나 에러가 표시되는 창 해당 화면은 2 by 3 레이아웃을 사용하여 분할하였다. 레이아웃은 어디ㅣ까지나 개인의 취향 영역이며 어떤 레이아웃을 선택하여 사용하더라도 무관하다.

Unity 2024.02.05