객체지향의 5대 원칙 SOLID : Dependency Inversion Principle
·
C#
DIP(Dependency Inversion Principle) - 의존성 역전 원칙 DIP는 객체지향의 5대 원칙 중 하나로, 고수준 모듈은 저수준 모듈에 의존해서는 안 된다는 것을 의미합니다. 이것은 추상화를 이용하여 모듈 간의 의존성을 낮추는 것을 의미합니다. DIP의 예시 DIP를 지키지 않은 코드는 다음과 같습니다. public class Button { private Lamp lamp = new Lamp(); public void OnPressed() { lamp.TurnOn(); } } public class Lamp { public void TurnOn() { // ... } } 위의 예제에서는 Button 클래스가 Lamp 클래스에 의존하고 있습니다. 이것은 DIP를 위배하는 코드입니다...
객체지향의 5대 원칙 SOLID : Interface Segregation Principle
·
C#
ISP(Interface Segregation Principle) - 인터페이스 분리 원칙 ISP는 객체지향의 5대 원칙 중 하나로, 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하지 않아야 한다는 것을 의미합니다. 이것은 인터페이스를 작은 단위로 분리하여 인터페이스 간의 의존성을 낮추는 것을 의미합니다. ISP의 예시 다음은 ISP의 예시입니다. interface IAnimal { void Eat(); void Sleep(); void Move(); } class Dog : IAnimal { public void Eat() { /* ... */ } public void Sleep() { /* ... */ } public void Move() { /* ... */ } } class Bird : IA..
객체지향의 5대 원칙 SOLID : Liskov Substitution Principle
·
C#
Liskov Substitution Principle Liskov Substitution Principle은 리스코프 치환 원칙으로, 서브타입은 언제나 자신의 기반 타입으로 교체 가능해야 한다는 원칙입니다. 이것은 상속을 사용할 때 하위 클래스가 상위 클래스의 기능을 대체할 수 있어야 한다는 것을 의미합니다. Liskov Substitution Principle의 예 다음은 Liskov Substitution Principle의 예시입니다. public class Rectangle { public virtual double Width { get; set; } public virtual double Height { get; set; } public double Area() { return Width * H..
객체지향의 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 컴포넌트는 다음과 같은 속성을 가지고 ..