3-6. 5조 아주~5지조

keubung·2024년 10월 14일
  • 개인과제 마무리
    • 해결되지 않은 문제
      - 캐릭터가 이동되지 않는 문제
      : 키보드 입력과 마우스 입력은 정상적으로 받아지는 듯 함.
      : 키보드를 눌렀을 때 걷는 애니메이션이 작동함.
      : 마우스의 위치에 따라 캐릭터 좌우반전이 가능함.
    • 깃허브에 커밋하는 것을 잊고 있다가 마지막에 한번에 올리려니 용량이 커서 한번에 다 올릴 수 없었고, 자꾸 오류가 나서 제대로 과제를 올릴 수 없었음
    • 깃허브에 올리다가 다시 프로젝트로 돌아오니 프로젝트에도 문제가 생겨있었음.
      - 중간중간 하나의 작업을 마치면 꾸준히 커밋하자..

  • 스탠다드 반 특강

    • 가상 메서드(virtual), 인터페이스(interface), 추상 메서드(abstract)
      - 가상 메서드(virtual)
      : 기본 구현을 상위 클래스에 제공하며, 하위 클래스에서 선택적으로 재정의 가능
      : virtual 키워드로 선언되며, 재정의 시 override 키워드가 필요함
      : 다형성을 지원하여 런타임에 하위 클래스의 메서드를 호출
      - 인터페이스(interface)
      : 모든 멤버는 기본적으로 구현이 없으며, 해당 멤버는 반드시 구현 클래스에서 정의되어야 함
      : 다중 상속을 허용하며, 클래스는 여러 인터페이스를 구현 가능
      : 객체 지향 설계에서 확장성유연성을 제공
      - 추상 메서드(abstract)
      : 메서드 본체가 없고, 상속받은 클래스에서 구현을 강제
      : 추상 메서드를 가진 클래스도 abstract로 선언되어야 함
      : 상속을 통해 다형성을 구현하며, 객체 자체로는 인스턴스화가 불가능

    • 델리게이트
      : 메서드 참조를 가능하게 하는 타입
      : 일종의 포인터처럼 특정 메서드를 가리키고, 이 메서드를 호출할 수 있음
      : 메서드를 변수처럼 전달하거나 나중에 호출할 수 있음 - 델리게이트 사용

      1. 델리게이트 선언

      public delegate void MyDelegate(string message);

      2. 델리게이트 인스턴스 생성

       public class Program
      {
        public static void PrintMessage(string message) {
            Console.WriteLine(message);
        }
      
        public static void Main() {
            MyDelegate del = new MyDelegate(PrintMessage);  // 메서드 참조
            del("Hello, Delegates!");  // 델리게이트를 호출하여 메서드 실행
        }
      }

      3. 익명 메서드와 람다 표현식 사용 가능

      • 익명 메서드
      MyDelegate del = delegate(string message) {
          Console.WriteLine(message);
      };
      del("Hello from anonymous method!");
      • 람다
      MyDelegate del = (message) => Console.WriteLine(message);
      del("Hello from lambda!");
profile
김나영(Unity_6기)

0개의 댓글