Java를 이용한 객체지향 프로그래밍을 사용해보신 분이라면 접근 제어자에 대해 알 것이다.
- public - 어디서든 접근 가능
- protected - 클래스 외부에서 접근은 불가능하지만 상속받은 클래스에서는 접근 가능
- private - 클래스 내에서만 접근 가능
앞서 정의한 클래스를 다시 보자.
필드를 보면 아직 접근 제어자가 설정되어 있지 않다. 현재는 생략되어 있는 상태인데 이럴 경우 public으로 접근 제어자를 설정한 것과 동일하다.
이렇게 접근 제어자가 public인 경우 해당 변수에 어디서든 접근이 가능하다.
반면에 private의 경우에는 클래스 외부에서의 접근이 불가능하다. 한번 age 변수를 private으로 설정해보겠다.
또한, private 변수의 경우에는 상속 클래스에서의 접근도 불가능하다.
마지막으로, protected 접근 제어자이다. protected의 경우 public과 private의 중간 형태라고 생각하면 된다. 클래스 외부에서의 접근은 불가능하지만, 상속받은 클래스에서는 접근이 가능하다.
위 코드와 같이 클래스 외부에서의 접근 시 에러가 발생하지만
상속받은 클래스에서는 접근이 가능하다.
마지막으로 접근 제어자를 생략하지 않고 설정해줄 경우 다음과 같이 필드를 선언하지 않고 클래스를 생성할 수 있다.
참고자료
한 입 크기로 잘라먹는 타입스크립트(TypeScript)
한 입 크기로 잘라먹는 타입스크립트(TypeScript) 강의 | 이정환 Winterlood - 인프런
이정환 Winterlood | 문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻♀️로 만들어드립니다., 프론
www.inflearn.com
'언어 > TypeScript' 카테고리의 다른 글
제네릭 타입 (0) | 2024.08.30 |
---|---|
인터페이스와 클래스 (0) | 2024.08.30 |
클래스 (0) | 2024.08.29 |
인터페이스 (0) | 2024.08.25 |
타입 가드 (0) | 2024.08.25 |