본문 바로가기

전체 글71

[코딩일기] C# 인덱스 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Record {     public int[] temp = new int[5];         // 배열변수 선언과 크기지정     public int this[int index]              // 인덱스는 프로퍼티 이름 대신 this를 사용. (this = 해당 클래스를 지칭하는 예약어(this.record == record))     {                                       // 배열도 일종의 프로퍼티. 그래서 프로퍼티와 똑같이 구현해주면 됨.         get     .. 2024. 6. 28.
[코딩일기] C# 프로퍼티 'Salary', 'Program' 스크립트 2개 미리 생성using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; public class Salary : MonoBehaviour {     // private는 은닉성을 보장한다. 하지만 민감한 변수가 많으면 많을수록 민감한 변수당 x2개의 함수가 필요함(get, set). 이럴 때 필요한 것이 프로퍼티!     private int salary;     // private int bonus = 10;     // 예시1.      // public int SalaryP { get { return salary ;/*읽기.. 2024. 6. 26.
[코딩일기] C# 상속 'Human', 'Student' 스크립트 2개 미리 생성using System.Collections; using System.Collections.Generic; using UnityEngine; abstract public class Human : MonoBehaviour {     // public : 타 클래스에서 모두 사용 가능     // protected : 상속 받은 자식 클래스에서만(여기서는 Human 클래스) 사용 가능     protected string humanName;     protected int humanAge;     protected virtual void Info()  // 가상 함수. 자식 클래스에서 재정의 하고 싶을 때 virtual을 적어줌으로써 가상 함수를 만들.. 2024. 6. 26.
[코딩일기] C# event (delegate와 연관 있음) using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour {     // delegate를 활용하면 마든 함수(메소드)들을 한 군데에 넣어서 관리할 수 있다. (예제에서는 chain이라는 delegate에 SetPower와 SetDefence를 넣어서 관리)     public delegate void ChainFunction(int value);     // 참고 : delegate는 class다. (class는 ChainFunction과 같이 초록색 글자로 나옴)     public static event ChainFunction OnStart;      /.. 2024. 6. 25.