객체지향의 5대 원칙 SOLID : Open-Closed Principle
·
C#
Open-Closed Principle Open-Closed Principle은 개방-폐쇄 원칙으로, 기존 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계해야 한다는 원칙입니다. 이것은 클래스의 수정보다는 확장을 통해 시스템을 변경해야 한다는 것을 의미합니다. Open-Closed Principle의 예 다음은 Open-Closed Principle의 예시입니다. public class Rectangle { public double Width { get; set; } public double Height { get; set; } } public class AreaCalculator { public double CalculateArea(Rectangle[] shapes) { double area =..
객체지향의 5대 원칙 SOLID : Single Responsibility Principle
·
C#
객체지향 프로그래밍에서 효율적이고 확장성 있는 코드를 작성하려면 SOLID 원칙을 지켜야 합니다. SOLID 원칙은 객체지향의 5대 원칙으로 Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle을 의미합니다. 이번 글에서는 SOLID 원칙 중 하나인 SRP(Single Responsibility Principle)에 대해 자세히 살펴보겠습니다. SRP(Single Responsibility Principle) SRP(Single Responsibility Principle)는 단일 책임 원칙..
C# : System.String
·
C#
C#의 클래스 중 하나인 string은 문자열을 저장하고 다양한 작업을 수행할 수 있는 유용한 클래스입니다. 이번 블로그에서는 string 클래스에서 자주 쓰이는 메서드들을 자세하게 설명하겠습니다. Length 문자열의 길이를 반환합니다. string str = "hello"; int length = str.Length; // 5 IndexOf 지정된 문자열의 인덱스를 반환합니다. 만약 문자열이 없다면 -1을 반환합니다. string str = "hello world"; int index = str.IndexOf("world"); // 6 Substring 문자열의 일부분을 반환합니다. string str = "hello world"; string subStr = str.Substring(0, 5); /..
Unity : 사운드 재생
·
Unity
Unity에서는 다양한 소리를 재생할 수 있습니다. 가장 간단한 방법은 AudioSource 컴포넌트를 사용하여 소리를 재생하는 것입니다. AudioSource 컴포넌트는 GameObject에 추가할 수 있으며, AudioClip을 이용하여 소리를 재생합니다. AudioClip AudioClip은 재생하려는 소리 파일을 나타내는 클래스입니다. Unity에서는 WAV, MP3, OGG 등 다양한 형식의 오디오 파일을 지원합니다. AudioClip을 만들려면 Assets 폴더에서 마우스 오른쪽 버튼을 클릭하여 Create -> Audio -> AudioClip을 선택합니다. 이제 AudioClip 파일을 드래그하여 필요한 GameObject에 추가할 수 있습니다. AudioSource AudioSource ..
Unity에서 Transform 컴포넌트와 RectTransform 컴포넌트의 차이점
·
Unity
Transform 컴포넌트 Transform 컴포넌트는 모든 게임 오브젝트에 포함되어 있으며, 게임 오브젝트의 위치, 회전, 크기를 조정하는 데 사용됩니다. Transform 컴포넌트는 다음과 같은 속성을 가지고 있습니다. Position : 게임 오브젝트의 위치 Rotation : 게임 오브젝트의 회전 Scale : 게임 오브젝트의 크기 Transform 컴포넌트는 3D 공간에서 사용되며, 3개의 축(X, Y, Z)을 이용하여 게임 오브젝트를 이동, 회전, 크기를 조정합니다. RectTransform 컴포넌트 RectTransform 컴포넌트는 UI 요소에서 사용되며, UI 요소의 위치, 크기, 피벗(pivot)을 조정하는 데 사용됩니다. RectTransform 컴포넌트는 다음과 같은 속성을 가지고 ..
Unity에서 플레이 중 Recompile을 해제하는 방법
·
Unity/Tip
Unity에서 코드를 수정하면 자동으로 Recompile이 되어 재생되는데, 이 과정에서 멈추고 싶은 경우가 있습니다. 예를 들어, 스크립트를 수정할 때마다 씬이 재생되는 것이 불편하거나, 플레이중인 게임이 멈추는 것이 싫을 경우 등이 그 예입니다. 이번 글에서는 이러한 경우에 Recompile을 해제하는 방법에 대해 알아보겠습니다. Play Mode Script Change 옵션 Unity에서는 Play Mode Script Change 옵션을 제공합니다. 이 옵션을 사용하면 플레이 모드 중에 스크립트를 수정해도 자동으로 Recompile이 되지 않습니다. Play Mode Script Change 옵션을 사용하려면 다음과 같이 설정하면 됩니다. Unity에서 Edit > Preferences를 클릭합..
Unity : Invoke
·
Unity
Unity에서는 Invoke 메서드를 통해 일정 시간이 지난 후 특정 메서드를 호출할 수 있습니다. 이를 통해 게임에서 다양한 기능을 구현할 수 있습니다. 이번 글에서는 Unity에서 Invoke 메서드를 사용하는 방법과 주의사항에 대해 자세히 알아보겠습니다. Invoke 메서드 사용하기 Invoke 메서드는 MonoBehaviour 클래스에서 상속받은 클래스에서 사용할 수 있습니다. 아래는 Invoke 메서드의 기본적인 사용 방법입니다. public void Invoke(string methodName, float time); 위 메서드의 첫 번째 인자로는 호출하고 싶은 메서드의 이름을, 두 번째 인자로는 호출까지 걸리는 시간을 입력합니다. 예를 들어, 아래 코드는 3초 후에 TestMethod를 호출..
Unity : UnityEngine.Pool 오브젝트 풀링
·
Unity
Object Pooling은 게임에서 자주 사용되는 개념 중 하나입니다. 이는 게임에서 자주 사용되는 객체를 미리 생성해두고 필요할 때마다 재활용하는 방식으로, 게임의 성능을 향상시키고 메모리 사용을 최적화하는 데에 매우 유용합니다. Unity에서는 이를 구현하기 위해 UnityEngine.Pool 네임스페이스를 제공합니다. Object Pooling 구현 방법 Object Pooling을 구현하는 방법은 매우 간단합니다. 먼저 사용할 객체를 미리 생성해둡니다. 그리고 필요할 때마다 생성한 객체를 가져와 사용하며, 사용이 끝나면 객체를 다시 풀에 반환합니다. 이러한 방식으로 객체를 재활용하면 게임의 성능을 향상시킬 수 있습니다. Unity에서는 Object Pooling을 구현하기 위해 UnityEngi..