virtual
C# 문법 - 다형성(virtual, override)
class Pig { public void Eat() { Console.WriteLine("먹는다"); } } 부모 클래스의 Eat()함수와 다르다는 것을 보여주기 위해 자식 크래스의 Eat() 함수 앞에 new를 붙여준다. class PinkPig : Pig { public new void Eat() { Consol
code-piggy.tistory.com
1. 선택적으로 override 가능하다.
2. 부모 클래스에서 virtual 메서드의 본문을 정의 할 수 있다.
abstract
C# 문법 - abstract
abstract 클래스를 만들 때 행위에 강요를 주는 것 클래스 내의 함수를 추상적으로 만들었으므로 실제 내용이 없다. abstract class Pig { public abstract void Eat(); } Pig의 자식 클래스에서는 반드시 Eat() 함
code-piggy.tistory.com
1. 자식 클래스는 abstract 부모클래스의 모든 abstract 메서드를 override해야 한다.
2. 부모 클래스에서 abstract 메서드의 본문을 정의 할 수 없다.
3. abstract 메서드가 아닌 일반 메서드도 만들 수 있다.
4. 다중 상속을 할 수 없다.
interface
C# 문법 - interface
인터페이스 다중 상속을 받을 수 있다. 추상클래스와 달리 일반 변수와 함수를 선언할 수 없다. 즉 모든 함수가 텅빈 추상함수로만 구성되어 있다. 일반적으로 이름 앞에 I를 붙인다 interface IFlyab
code-piggy.tistory.com
1. 자식 클래스는 모든 abstract 메서드를 구현해야 한다.
2. 부모 클래스에서 abstract 메서드의 본문을 정의 할 수 없다.
3. abstract 메서드만 만들 수 있다.
4. 다중 상속이 가능하다.
'유니티 공부 > C# 문법' 카테고리의 다른 글
C# 문법 - Delegate(대리자) (0) | 2023.04.16 |
---|---|
C# 문법 - property(프로퍼티) (0) | 2023.04.16 |
C# 문법 - interface (0) | 2023.04.14 |
C# 문법 - abstract (0) | 2023.04.14 |
C# 문법 - overloading(오버로딩) vs overriding(오버라이딩) (0) | 2023.04.12 |
댓글