자 열한번째인 키워드 'Prefab'을 알아보겠다.

우선 'Prefab'이란 단어 자체의 뜻을 보면 미리 제작한 부품을 뜻하고 있다.
주로 게임개발 분야에서 사용되는 용어인데,
게임 내에서 반복적으로 사용되는 요소들을 미리 만들어두고 필요할 때 불러와서 재사용할 수 있게 한다.
예를 들자면, 캐릭터, 무기, 환경 오브젝트(나무, 돌, 건물 등), 효과(폭발, 불꽃 등) 등이 있을 수 있는데 이러한 요소들은 게임 전체에 걸쳐 반복적으로 사용될 수 있다.
더 자세한 예시는 숲을 플레이 할 환경을 제작한다고 가정하자.
숲에는 나무, 돌 같은 오브젝트들이 많이 쓰일 것 이다. 그 오브젝트를 하나하나 배치하거나
생성하는것은 비효율적이고 개발속도가 느릴 것 이다. 하지만 프리팹화 시킨다면 동적으로
불러와서 배치하거나 재사용을 하여 효율도 높아지고 개발속도도 빨라 질 것이다.

실제로 Unity 환경에서 사용한 부분이다.
게임오브젝트를 각종 컴포넌트를 추가하여 어느 곳에서든 재사용을 할 수 있게 만들었다.
이렇게 관리를 하면 재사용이 가능해 다른 씬작업을 할때도 사용가능하며 효율적인 개발을 할 수 있다.
물론 상황에 따라 장점이 될 수 있고 단점이 될 수 있는 점들이 있다.
기본적인 장단점을 알아보았는데 다음과 같다.
재사용성: 프리팹을 사용하면 비슷한 요소들을 반복해서 만들 필요가 없어 진다. 이는 개발 시간을 단축하고 효율성을 높인다.
일관성: 동일한 요소들을 일관된 방식으로 유지할 수 있어 게임 내에서 일관된 시각적 효과를 유지할 수 있다.
수정 용이성: 프리팹을 수정하면 해당 프리팹을 사용하는 모든 장면에 자동으로 적용되므로, 수정이 필요한 경우 전체적인 수정이 간단하다.
계층 구조화: 프리팹은 계층 구조로 구성되어 있어서, 복잡한 요소들을 보다 체계적으로 관리할 수 있다.
유연성 제한: 프리팹을 사용하면 재사용성과 일관성은 높아지지만, 동시에 유연성은 제한될 수 있다.
파일 크기 증가: 많은 프리팹이 프로젝트에 추가될 경우 파일 크기가 증가할 수 있다.
설계 오류의 전파: 프리팹을 잘못 설계하면 해당 프리팹을 사용하는 모든 장면에 오류가 전파될 수 있다.
물론, 단점의 영향이 미약하다면 장점만을 보유하고 있는 기술이라 생각한다.
프리팹을 사용못하는 개발이라면 어우... 끔찍하다.
이번 키워드는 일단 너무 많이 써본 기술이라서 더 특이사항이 있을까 했다.
더 알아보며 이런 단점도 있구나 하면서 배운게 있었다는 것이다.
프리팹을 남용해선 안되고 설계또한 중요하다는 것을 배웠다.
그리고 유니티 같은 경우는 Prefab과 Prefab Variant 차이점도 알게되었다.
많이 애용하는 기술이라 더 심도 있게 알아봤던 것 같다.