유니티 C# 스크립트 중급 02

Jaemyeong Lee·2025년 2월 18일

추상 클래스

C# Class

  • Access Modifier

  • Class Name

  • field

  • Constructor

  • Method / Function

추상 클래스

  • abstract 추상 함수를 가지고 있는 클래스

  • 추상 함수에도 abstract가 붙고, 추상 함수를 가지고 있으면 클래스 정의 앞에도 abstract를 붙여주어야 함

  • 추상 함수 말고도 가상 함수나 일반 멤버 함수 또는 멤버 변수를 가질 수 있음

추상 함수

  • 자식 클래스에서 반드시 오버라이딩 하도록 강제하는 함수

  • 가상 함수 처럼 업 캐스팅 할 경우 자식이 오버라이딩한 함수를 호출하도록 한다.

  • 가상 함수와 다르게 구현부를 작성 하면 안되고, 함수의 인터페이스만 정의한다.

  • 자식클래스에서 오버라이딩 하지 않으면 컴파일 에러가 발생한다.

주의할 점

  • 추상 클래스 타입의 객체 생성은 불가능 하고, 컴파일 에러를 발생시킨다.

  • 다중 상속이 불가능 하다.

인터페이스

  • interface 키워드를 붙여주며, class는 붙이지 않음

  • 추상 함수는 접근 한정자 같은 어떠한 키워드로 붙지 않고, 함수 프로토 타입만 정의함

  • 인터페이스 이름 앞에는 I를 붙여주는것이 암묵적인 약속

  • 멤버 변수, 가상 함수 그리고 다른 멤버 함수등을 가질 수 없고 오로지 추상 함수만을 가지고 인터페이스 역할만 함

  • 인터페이스를 다중 상속 할 수 있으며, 자식들은 무조건 오버라이딩을 해야함

  • 인터페이스 타입의 객체는 생성할 수 없지만 인터페이스 타입의 변수를 선언하여 자식 타입의 객체를 업캐스팅 할 수 있음

profile
李家네_공부방

0개의 댓글