게임 개발 일지/내일배움캠프 TIL

객체지향 프로그래밍의 특징

빛하_ 2023. 11. 27. 21:02

 

 

객체지향 프로그래밍의 특징 4가지

 

1. 추상화

인터페이스와 클래스가 가진 의의는

하나의 큰 개념을 세부적으로 분리하기 보다는,

공통된 특징을 모아 하나의 개념(역할)으로 일반화하는 것이다. 

객체지향 프로그래밍은 인터페이스를 이용해 객체가 가질 핵심 기능을 규정한다. - 설계

그리고 인터페이스를 상속 받은 클래스에서 기능을 구현한다. - 구현

 

2. 상속

기존 클래스를 재활용해 새로운 클래스를 만들 수 있다.

반복적인 코드를 최소화하고 오류를 줄인다.

메서드 오버라이딩이 가능하다.

 

3. 다형성

하나의 클래스가 다른 객체를 만나 여러가지 형태를 띌 수 있다.

객체가 가진 속성이나 기능에 따라 달라진다.

 

4. 캡슐화

변수와 함수를 하나의 클래스로 묶고, 외부에서 쉽게 접근하지 못하게 한다.

접근제어자 (public, private, protected, getter, setter 등)을 사용한다.

 

 

Unity 게임 개발 입문 : 미니 던전 만들기

 

< 필수 구현 목록 >

1. 캐릭터 만들기 (완)

2. 캐릭터 WASD로 이동시키기 (완)

3. 방 만들기 (완)

4. 카메라 따라가기

 

디자인에 시간 덜 쓰고 최대한 기능 위주로 해야지 생각했지만

에셋스토어에 들어간 순간 불가능이었다. (ㅠㅠ)

collision까지만 완벽하게 해놓고 그만해야지 했는데, 꽤나 오래 걸렸다..

(중간에 에셋 사이즈가 마음에 안 들어서 조정하고, 폴더 삭제하고.. 난리쳐서 오래걸린듯)

디자인은 여기서 멈추고 내일은 카메라 따라가기 + 선택과제 일부를 진행해야겠다.

 

카메라 따라가기의 경우 다른 팀원들이 다양한 방식으로 실행했다. (에셋 사용, player 상속, 마우스 포인터 따라가기 등)

나도 나만의 방식을 찾아서 내일 직접 코드를 짜봐야겠다.

 

* 오후 스크럼 Insight

카메라 하나가 플레이어만 따라다니는 경우라면, 직관적으로 Main Camera를 Player에 넣어서 사용할 수 있다.

하지만 대체로 Main Camera를 Player 안에 넣기 보다 따로 제어하는 게 좋다. (CameraManager 이용)

게임 규모가 점점 커질수록 카메라를 분리하는 것이 유용한데,

이 때 Main Camera가 Player에 들어있다면 제어(유지보수) 측면에서 불리하기 때문이다.

 

내일도 힘내자!