본문 바로가기
728x90
반응형

프로그래밍 언어53

C# 추상 클래스 추상 클래스란? 클래스처럼 구현부를 갖되 인스턴스를 만들지 못함 추상 메소드를 가질 수 있는데 추상 클래스를 상속하는 클래스들이 반드시 해당 추상 메소드를 구현하도록 강제하는 부분에서 인터페이스의 "약속"에 대한 역할도 담당한다. public abstract class BaseScene : MonoBehaviour { public abstract void Clear(); } public class LoginScene : BaseScene { public override void Clear() { Debug.Log("Login Scene Clear!"); } } public class GameScene : BaseScene { public override void Clear() { Debug.Log("Ga.. 2024. 3. 5.
C# 프로퍼티 public 필드의 유혹 필드를 public으로 선언하면 은닉성이 지켜지지 않기 때문에 접근 한정자를 private로 설정 후 Get/Set 메소드를 따로 만들어서 해당 필드에 접근할 수 있도록 하였다. class MyClass { private int myField; public int GetMyField() { return myField; } public void SetMyField(int myFiled) { this.myField = myFiled; } } class Program { static void Main(string[] args) { MyClass myClass = new MyClass(); myClass.SetMyField(3); Console.WriteLine(myClass.GetMy.. 2024. 3. 3.
C# 상수와 열거형 상수 : 데이터를 바꿀 수 없는 메모리 공간에 저장된 값 왜? 상수가 필요한가? 변수를 선언해놓고 바꾸지 않으면 상수처럼 쓰일 수 있지 않을까? 변수를 선언할 때 특정 값으로 초기화해놓은 다음에 절대 바꾸지 않으면 상수는 쓸 이유가 없다. 하지만, 수천줄 이상의 코드를 작성하다보면 어떤 변수는 변경해도 되고 어떤 변수는 변경하면 안 되는지 판단하기가 매우 힘들고 매번 이 변수는 상수로 쓰이니까 주석처리를 해주는 것도 매우 번거로운 작업이 된다. 심지어 개발자의 잘못으로 값이 변경됬을 때 컴파일 시점에 확인이 안되므로 런타임 시점에 확인을 해야 된다. 열거 형식(enum) : 여러 개의 상수들을 묶어 하나의 클래스처럼 사용하는 방식 클래스를 사용하기 위해서는 new를 해서 인스턴스화 시킨 다음 데이터를 꺼.. 2024. 2. 29.
C# reflection reflection은 무엇인가? 객체의 Type(형식) 정보를 들여다보는 기능 void, int 같은 이러한 return 타입이 아니라 그 객체가 가지고 있는 모든 정보들(프로퍼티, 메소드, 변수, 반환타입 ..등)을 말한다. 이 기능을 이용하면 런타임 중에 객체의 프로퍼티 목록, 메소드 목록, 필드.. 등 모두 확인할 수 있다. 형식의 이름만 있다면 동적으로 인스턴스를 만들 수 있고, 그 인스턴스의 메소드를 호출할 수 있다. 마이크로소프트 개발진에서 모든 데이터 형식의 조상인 Object 형식에 모든 형식을 들여다볼 수 있도록 GetType() 메소드를 만들어 놓았다. using System; public class UI_Btn : MonoBehaviour { private void Start() { .. 2024. 2. 28.
728x90
반응형