접근 제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해주세요.
접근 제한자는 클래스, 필드, 메소드 등의 접근 범위를 제한하는데 사용되며 public, private, protected, internal이 있습니다.
private은 오직 같은 클래스 내에서만 접근이 가능하고,
protected는 파생 클래스에서도 접근이 가능하고,
internal은 같은 어셈블리 내에서만 접근이 가능하고
public은 모든 외부에서 접근이 가능합니다.
접근 제한자는 클래스나 멤버의 접근 범위를 제한하여 코드의 재사용성을 높이고, 외부에서의 접근을 제한하여 데이터의 보안성을 높이는 캡슐화와 관련이 있다.
=====================================================