본문 바로가기
유니티 공부/C# 문법

C# 문법 - virtual vs abstract vs interface

by 코딩하는 돼징 2023. 4. 16.
반응형

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. 다중 상속가능하다.

 

반응형

댓글