본문 바로가기

분류 전체보기142

bool = 조건식 과 삼항 연산자 bool = 조건식예를 들어, 다음과 같은 문장이 있다고 가정해보겠습니다.if (minValue 위 코드는 minValue 가 ballSpeed 보다 작으면 moveBallDown 을 true 로 설정하는 간단한 조건문입니다. 그런데 이 코드는 아래와 같이 더 간단하게 표현할 수 있습니다.bool moveBallDown = minValue bool = 조건식 형태로, 조건문의 결과를 그대로 대입하는 방식입니다.이건 삼항 연산자와는 다른 문법입니다. 삼항 연산자위 코드를 삼항 연산자로 구현해 보면 다음과 같이 됩니다.bool moveBallDown = minValue 이렇게 해도 결과는 같지만, 불필요하게 길고 복잡한 표현입니다.bool = 조건식은 이미 조건의 결과가 true 또는 false이므.. 2025. 6. 29.
호출 순서가 문제가 될 때 : SendMessage 또는 Interface 활용 방법 유니티 강좌 중에 object 의 충돌을 판정하고 tag 를 활용하여 점수가 중복되지 않도록 다루는 방법을 보게 되었습니다. tag 를 이렇게도 활용할 수 있구나하고 예제를 따라해보던 중에 한가지 의문이 들었습니다. 그렇게 시작한 궁금증은 SendMessage() 를 거쳐 Interface 를 활용하는 방법으로까지 코드를 개선하게 되었습니다. 다음은 누군가에게 조금이나마 도움이 되었으면 하는 마음으로 제가 겪은 과정을 시간의 흐름에 따라 쓴 글입니다. 1. Tag 를 이용한 중복 처리 필터링Player 오브젝트Player GameObject 는 Score 스크립트를 컴포넌트로 가지고 있는데 어떤 물체에 부딪혔을 때, 그 물체의 tag 가 "Hit" 가 아니라면 점수를 추가하는 기능입니다. // Pla.. 2025. 6. 27.
C# 의 Interface 기초부터 활용까지 C#에서 인터페이스(Interface) 는 클래스가 따라야 할 규칙(계약서)을 정의합니다.이번 편에서는 인터페이스에 대해 자세히 알아보겠습니다. 인터페이스란?인터페이스는 클래스나 구조체가 구현해야 할 기능만 정의하는 “타입” 입니다. public interface IItem{ void Use(); }• 이름 앞에 I 를 붙이는 것이 관례입니다. (IUsable, IDamageable 등)• 함수의 제목만 있고 구현은 없는 것이 특징입니다.• 앞에 public 을 붙이지 않으면 같은 파일 안에서만 보이게 됩니다. ( default 는 internal )• 다른 클래스나 다른 파일에서도 써야 하므로 명시적으로 public 을 붙여주는 것이 가독성 면에서 좋습니다. 상속? 구현?문법적으로는 인.. 2025. 6. 26.
C#의 is 와 as 키워드 (#02) 1편에서는 is 와 as 에 대한 기본적인 코드를 가지고 살펴보았습니다. 이번 편에서는 보다 실용적인 예제를 다뤄보겠습니다. 예시 클래스class Enemy{ public virtual void Cry() { Console.WriteLine("Enemy 가 괴성을 지릅니다"); }}class Zombie : Enemy{ public override void Cry() { Console.WriteLine("Zombie : 으어어어..."); }}class Robot : Enemy{ public override void Cry() { Console.WriteLine("Robot: 삐비빅! 시스템 경고!"); } .. 2025. 6. 26.
C#의 is 와 as 키워드 (#01) C# 에서는 객체가 어떤 타입인지 확인하거나, 타입 변환을 안전하게 수행할 때 is 와 as 키워드를 자주 사용합니다. 이 둘은 형변환과 타입 검사를 보다 깔끔하게 처리하기 위한 문법입니다. is 키워드 : 타입인지 확인만 하고 싶을 때is는 객체가 특정 타입인지 확인하는 데 사용합니다. true 또는 false를 반환합니다.object obj = "Hello"; if (obj is string) { Console.WriteLine("obj는 string입니다."); } C# 7.0 이상에서는 아래처럼 패턴 매칭과 함께 변수를 선언하며 사용할 수 있습니다.if (obj is string s) { // s는 string으로 자동 변환됨 Console.WriteLine(s.ToUpper(.. 2025. 6. 26.
C# 의 상속이 C++ 과 다른 점 C++ 에서 상속을 배운 경험이 있는 사람이라면, C# 에도 동일한 개념이 있기 때문에 특별히 배울 필요가 없이 넘어갔을지도 모릅니다. 그런데 C# 에서의 상속은 C++ 과 비교해 몇가지 부분에서 결정적인 차이가 있습니다.이건 단순한 문법 차이가 아니라, 언어의 철학과 설계 방향이 달라서 생긴 아주 중요한 차이입니다.이 글에서는 C++과 C#의 상속 구조가 어떻게 다르고, 왜 C#은 다중 상속을 허용하지 않는지를 비교해서 정리해 보겠습니다. C++ 의 다중 상속 C++에서는 다음과 같이 여러 클래스를 동시에 상속할 수 있습니다.class A { public void SayA() { std::cout • C는 A, B 모두의 기능을 한꺼번에 상속합니다.• public, private, prote.. 2025. 6. 25.