Learning
When: 1학년 4월 28일
How:
이번에 수업시간에 static을 배우다가 내용에 대해 깊게 파보니 객체지향 프로그래밍은 객체를 만들어야 구동이 될 텐데, 왜 객체를 만들지 않고 클래스만 만들어서 오브젝트에 컴포넌트로 부착하면 구동이 될까? 라는 생각이 들어서 공부를 해보았습니다.
Understanding:
일단 답은 MonoBehaviour를 부모로 하고 오브젝트에 부착된 스크립트는 자동으로 객체가 만들어진다는 사실을 알았고, 그렇게 하면 객체마다 다르게 설정할 수 있다는 객체지향 프로그래밍의 장점이 없어지기 때문에 직렬화를 할 수 있게 해서 따로 공간을 만든 다음, 자동으로 객체를 만들 때 그것을 반영하는 방식으로 객체의 다양성을 지킬 수 있습니다.
그리고 static은 자동으로 만들어주는 것이 아니라 클래스 자체에 있는 것입니다. 마지막으로 static은 원래 클래스명.스태틱이름 형식으로 읽거나 호출하지만 그 클래스 안에서는 그냥 변수명으로 사용할 수 있어 조금 헷갈렸습니다.
그리고 static을 클래스 안에서는 클래스명을 생략해도 되지만 그렇게 하지 않는 것이 가독성에서는 좋을 것 같다는 생각도 들었습니다.
Result: 유니티에서 만든 스크립트는 자동으로 객체를 만들어주고 직렬화된 변수는 바꾼 그대로 반영됩니다. static은 그 클래스 안에서는 클래스명을 생략할 수 있습니다.
'UnityEngine' 카테고리의 다른 글
| [Unity] 코드에서 GameObject 가져오기 (0) | 2025.05.06 |
|---|---|
| [Unity] OnTrigger, OnCollision 메서드 실행 (0) | 2025.05.02 |
| [Unity] 여러가지 이동 방식 (0) | 2025.05.02 |
| [Unity] 오브젝트 코드로 회전시키기 (0) | 2025.04.27 |
| [Unity] 게임 오브젝트 회전 순서 (0) | 2025.04.26 |