728x90
반응형

상속

하나의 클래스에서 다른 클래스에 정의된 멤버들을 물려받아 사용할 수 있는 기능을 말한다.

상속을 해주는 클래스는 부모 클래스이고 상속받을 받는 클래스는 자식 클래스이다.

부모 클래스를 작성할 때, sealed 키워드를 붙이면 자식 클래스에 상속이 되지않게 막을 수 있다. 

 

부모 클래스(Parent Class) ← 자식 클래스(Child Class)

 

 

부모 클래스로부터 멤버를 상속 받는 방법은 자식 클래스 명 뒤에 콜론(:)을 붙이고 부모 클래스 명을 적어주면 된다.

 

class 부모클래스 명
{
    // 멤버선언
}

class 자식클래스 명 : 부모 클래스명
{
    // 멤버를 선언하지 않아도 부모 클래스의 전부를 상속 받음
}

 

자식 클래스 -> 부모 클래스로 멤버 접근 방법

  • public 키워드가 붙은 멤버

부모 클래스에 public 키워드가 붙은 멤버를 자식 클래스에서 사용 가능하다.

 

  • private 키워드가 붙은 멤버

부모 클래스에 private 키워드 또는 수식자가 없는 멤버는 자식 클래스에서 사용할 수 없다.

 

 

  • protected 키워드가 붙은 멤버

부모 클래스에 protected 키워드가 붙어 있는 멤버에는 해당 멤버를 포함하는 클래스 내부와 해당 클래스를 상속받은 자식 클래스에서만 사용 가능하다.

 

 

접근 제한자

클래스에 선언되어 있는 멤버들 중에서 노출되면 안되는 경우는 접근 제한자를 사용하여 공개 수준을 설정할 수 있다.

클래스 내부 멤버에서 접근 제한자를 생략한 경우는 기본적으로 private로 설정된다.

 

접근 제한자 종류

  • public

     클래스 내부와 외부 모든 곳에서 접근이 가능하다.

  • protected

     클래스 내부 및 해당 클래스를 상속받은 자식 클래스에서만 접근이 가능하다.

  • private

     클래스 내부에서만 접근이 가능하다.

  • internal

     어셈블리에 내부에서만 public으로 접근할 수 있다. 다른 어셈블리에서는 접근이 불가능 하다.

  • protected internal

     어셈블리 내부에 있는 클래스에서 상속받은 클래스 내부에서만 접근이 가능하다.

728x90
반응형

+ Recent posts