클래스를 상속하는 이유는 같은 코드의 작성을 피해서 재사용성을 높이는 이유로 쓰인다. 그러나 상속 관계의 클래스 구조를 잡다보면 너무 복잡해질수도 있고 상속을 하므로써 상위 클래스를 직접 참조가 가능해지고 보안이나 여러가지 이유로 클래스 상속을 막아야하는 경우가 있다. 이럴때 쓰이는 것이 sealed 키워드 이다. sealed 키워드 sealed를 클래스에 사용하는 예시 클래스 앞에 sealed 키워드를 붙이면 그 클래스는 더이상 상속받을수 없게 된다. sealed를 메서드에 사용하는 예시 위의 예시를 보면 Example 클래스를 상속받은 SubExample 클래스에서 부모의 Print 메서드를 생성하고,sealed 키워드를 넣었을 때, SubExample 클래스를 상속받은 SubExample 클래스..
상속
인터페이스란,상속 받을 클래스에 기능이나 속성을 지정하는 역할을 하는 기능이다. 일반적인 상속관계와 같다고 보일 수도 있지만 다른 개념이다.일단 C#에서는 하나의 부모 클래스만 상속받을 수 있다. 따라서 여러가지 기능들을 사용할 경우 하나의 부모 클래스에서 기능을 상속 받아 자식 클래스에서 정의/사용을 하게 된다. 하지만 이렇게 되면 부모 클래스에 너무나 많은 기능이 들어가게 되어 굉장히 복잡해지고 어지러워질 수도 있다.이런 상황을 해결해주도록 부모 외에 추가로 상속을 받아 기능을 더 만들 수 있게 해주는 기능이인터페이스(interface)이다. 상속 관계를 이용하여 히어로를 만든다고 가정해보겠다.히어로라는 부모 클래스에는 움직임, 달리기, 펀치 같은 히어로가 무조건 가져야 할 기본적인 기능을 만들어..
C# 상속 부모 클래스와 파생(자식) 클래스 C#에서 상속이란 부모의 기능과 속성을 특정 클래스가 물려받게 하는 것. 상속받은 파생 클래스는 부모 클래스 데이터 및 메서드들에 접근할 수 있다.(만약 접근 지정자가 public 또는 protected 라면) 사용 예시 몬스터라는 클래스를 상속받아 다양한 타입의 몬스터 (고블린, 슬라임, 골렘 등등)을 만드려는 상황이라고 가정해보겠다.먼저 기본이 되는 BaseMonster 클래스를 만들고 이곳에 필요한 다양한 전역변수들을 생성한다.BaseMonster를 상속받을 Goblin, Slime 클래스를 만들고 BaseMonster를 상속받는다.BaseMonster의 변수와 메서드에 접근할 수 있게 된다. public class BaseMonster : MonoBeh..