재밌고 어려운 IT를 이해해보자~!

접근제한자 본문

C#

접근제한자

언제나즐거운IT 2024. 6. 30. 15:10

namespace ConsoleApplication1
{
    class A
    {
        protected int x = 123;
    }
 
    class B : A
    {
        static void Main()
        {
            A a = new A();
            B b = new B();
 
            // 에러 CS1540 발생, 왜냐하면 X는 오직 A에서 파생된 클래스에서만 접근이 가능하기 때문
            a.x = 10;
 
            // A에서 파생된 클래스인 B에선 접근이 가능하다.
            b.x = 10;
        }
    }
}

protected는 클래스 외부에서는 접근할수 없지만 파생된 클래스에서 접근할 수 있다.

 

this 키워드는 자기 자신을 가리킬때 사용하는 키워드

 

using System;
 
namespace ConsoleApplication1
{
    class A
    {
        private int num;
 
        public A(int num) // 생성자
        {
            this.num = num; 
        }
        public void Show()
        {
            Console.WriteLine("num: " + num);
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            A a = new A(50);
 
            a.Show();
        }
    }
}

 

 

 

 

'C#' 카테고리의 다른 글

확장 메소드, 분할 클래스, 중첩 클래스  (0) 2024.07.01
클래스의 상속  (0) 2024.06.30
클래스  (0) 2024.06.30
배열  (0) 2024.06.30
메소드  (0) 2024.06.29
Comments