나는 C++ 프로그래머라서 그런지 C#의 문법적인건 가끔 까먹는 경우가 많다.
C++의 경우에는 부모 클래스의 생성자를 자식 클래스의 생성자에서 호출할때는 이니셜라이저에 부모 클래스 이름으로 호출해주면 됐었다.
C++의 경우
class Parent;
{
private:
int i;
public:
Parent(int i) : i(i) { }
}
class Child : public Parent
{
private:
int j;
public:
Child(int i, int j) : Parent(i), j(j) { } // 부모의 이름으로 부모의 생성자를 호출할 수 있다.
}
하지만 C#의 경우는 약간 달라서 부모 클래스의 이름으로는 부모 클래스의 생성자를 호출할 수 없고 base 키워드를 사용해야 한다.
C#의 경우
public class Parent;
{
private int i;
public Parent(int i)
{
this.i = i;
}
}
public class Child : Parent
{
private int j;
public Child(int i, int j) : base(i) // 부모 클래스의 생성자를 호출하려면 base 키워드를 사용해야 한다.
{
this.j = j;
}
}
C# 프로그래밍 책을 한 번 훑어보면서 봤던 내용인데 C#코딩을 자주하는 편은 아니라 정확한 방법을 까먹어서 다시 찾아보게 되었다.
[유니티 어필리에이트 프로그램]
아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.
[투네이션]
[Patreon]
[디스코드 채널]
'C#' 카테고리의 다른 글
[C#] foreach - 배열과 컬렉션를 위한 반복문 (0) | 2019.10.27 |
---|---|
[C#] Thread - 스레드 생성 시 반복문의 인덱스를 매개변수로 받을 때 (0) | 2019.10.25 |
[C#] Thread - 여러 작업을 동시 처리하기 (2) | 2019.10.25 |
[C#] static - 정적 변수와 정적 함수 그리고 정적 클래스 (0) | 2019.09.18 |
[C#] Attribute : Obsolete - 더 이상 사용하지 않거나 그럴 예정인 코드에 대해서 (2) | 2017.01.21 |