분류 전체보기155 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. Unity 에서 물체를 숨기는 가장 효율적인 방법은? Unity에서 오브젝트를 화면에서 숨기려 할 때 가장 먼저 떠오르는 방법은 gameObject.SetActive(false) 일 것입니다. 하지만 이 방식에는 생각보다 무거운 작업이 숨어 있습니다. // 가장 일반적인 방법gameObject.SetActive(false); SetActive( false ) SetActive(false) 는 단순히 보이지 않게 하는 것이 아니라, 해당 GameObject와 그 모든 자식 오브젝트들까지 재귀적으로 비활성화합니다. 이 과정에서 OnDisable() 이벤트가 호출되고, 오브젝트는 렌더링뿐 아니라 물리, 업데이트 루프 등 모든 시스템에서 제외됩니다.이처럼 SetActive()는 꽤 많은 비용이 수반되므로, 한두 번 정도 사용하는 것은 괜찮지만, 짧은 시간 간격으.. 2025. 6. 24. => 에 대한 진실과 오해 : 이것은 람다일까? 아닐까? C# 을 배우다 보면 자주 마주치는 기호 : => () => Console.WriteLine("Hello");많은 사람들이 이것을 그냥 “람다(Lambda)”라고 부르곤 하지만, 사실 이 기호는 두 가지 전혀 다른 문법에서 사용됩니다. 즉, 모양은 같지만 의미와 쓰임새가 완전히 다른 두 가지가 존재하기 때문에, => 기호를 무조건 “람다”라고 부르는 것은 부정확한 표현입니다.따라서 이 두 문법을 구분해서 이해한다면, 더 이상 => 때문에 헷갈릴 일은 없을 것입니다. 람다식 (Lambda Expression) : 익명 함수 람다식은 이름 없는 함수(익명 함수) 를 만들어서 delegate, Action, Func 등에 대입할 수 있도록 하는 문법입니다. Action sayHello = () => Cons.. 2025. 6. 23. C# 다형성(Polymorphism) 정리 C# 에서 클래스의 상속 관계를 정의할 때, virtual 와 override 를 이용해 함수를 구현하는 경우가 종종 있습니다. 이것은 클래스의 다형성을 활용하기 위한 방법입니다. 다형성 (Polymorphism) 이란?다형성은 "하나의 타입으로 여러 가지 형태를 다룰 수 있는 성질" 을 의미합니다.한자로는 多形性, 즉 "여러 개의 형태를 가진 성질" 이라는 뜻이고,영어로는 Polymorphism (poly = 여러, morph = 형태)입니다.프로그래밍에서 하나의 부모를 상속받은 여러 개의 자식 클래스가 있을 경우, 어떤 자식으로 인스턴스를 생성했느냐에 따라 부모가 각각의 자식 형태로 모습을 띄게 되는 것을 말합니다. 기본 개념1. 부모 클래스는 virtual로 메서드를 정의2. 자식 클래스는 ove.. 2025. 6. 23. 속성(Property)의 동작 원리 속성이란 무엇인가?C# 에서 속성(property) 은 필드처럼 보이지만, 실제로는 메서드처럼 동작하는 기능입니다.읽기/쓰기 시점에 자동으로 특정 함수를 호출할 수 있게 해주는 문법적인 장치입니다.public string Name { get; set; } 이런 문법은 내부적으로 함수 두 개 (get 과 set) 로 변환됩니다. 자동 구현 속성 : { get; set; } 의 정체 아래와 같은 자동 구현 속성이 있다고 할 때,public string Name { get; set; } 컴파일되면 실제로는 다음과 같은 코드로 변환됩니다private string k__BackingField;public string get_Name(){ return k__BackingField;}public void se.. 2025. 6. 23. 로그를 찍을 때, 시간도 같이 남기는 방법 어떤 이유에서건, 로그가 찍힌 시간을 남기면 편리할 때가 있다.예를 들면, 동일한 로그를 연속으로 찍을 때, 내용이 동일하기 때문에 방금 찍힌 로그가 갱신된건지 아닌지 헤깔릴 경우가 있다. 이 경우, 로그에 시간을 같이 남기면 이전 로그와 구분이 가능해진다. 방법은 간단하다콘솔 탭 > 오른쪽 상단 점 3개 클릭 > 풀다운 메뉴 에서show timestamp 를 선택하면 된다. 이렇게 하면, 동일한 로그를 하나로 합친 경우에도 찍힌 시간은 계속 달라지기 때문에, 방금 찍힌 로그가 갱신된건지 아닌지 덜 헤깔리게 된다. 2025. 6. 16. 이전 1 ··· 10 11 12 13 14 15 16 ··· 26 다음