다음 코드가 오류를 발생시키는 이유는?

과목: C#

문제 번호: 2642

medium
다음 코드가 오류를 발생시키는 이유는?
class Car
{
    private string model = "Mustang";
}

class Program
{
    static void Main(string[] args)
    {
        Car myObj = new Car();
        Console.WriteLine(myObj.model);  // 오류 발생
    }
}
A. model 변수가 선언되지 않았다
B. private 필드는 다른 클래스에서 접근할 수 없다
C. Car 객체가 잘못 생성되었다
D. Console.WriteLine 문법이 틀렸다

정답: B



private 접근 제한자는 해당 필드를 선언한 클래스 내부에서만 접근을 허용합니다.

private의 특징:
⦁ 접근 범위: 선언된 클래스 내부만
⦁ 목적: 데이터 은닉과 보호
⦁ 외부 접근: 불가능

해결 방법:
⦁ 접근 제한자를 public으로 변경
⦁ public 메서드를 통한 간접 접근:
class Car
{
    private string model = "Mustang";
    
    public string GetModel()
    {
        return model;
    }
}

💡 학습 팁

이 문제를 포함한 C# 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.