상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 타입스크립트에서 접근 제어자(Access Modifiers)는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
타입스크립트(TypeScript)는 자바스크립트의 <a href='https://sangseek.com/sangseeks/상위 집합/ko'>상위 집합</a>으로, 정적 타입을 지원하는 프로그래밍 언어입니다. 타입스크립트는 객체 지향 프로그래밍(OOP) 패러다임을 지원하며, 이 과정에서 클래스와 함께 접근 제<a href='https://sangseek.com/sangseeks/어자/ko'>어자</a>(Access <a href='https://sangseek.com/sangseeks/Modifier/ko'>Modifier</a>s)를 사용하여 클래스의 속성과 메서드에 대한 접근 권한을 제어할 수 있습니다. 접근 제어자는 클래스의 멤버(속성 및 메서드)에 대한 접근을 제한하거나 허용하는 역할을 합니다. 타입스크립트에서 제공하는 접근 제어자는 다음과 같습니다: 1. public : - `public` 접근 제어자는 기본 접근 제어자입니다. 클래스의 속성이나 메서드가 `public`으로 선언되면, 해당 멤버는 클래스의 인스턴스뿐만 아니라 외부에서도 접근할 수 있습니다. 즉, 클래스의 외부에서 자유롭게 사용할 수 있습니다. - 예시: ```typescript class Person { public name: string; constructor(name: string) { this.name = name; } public greet() { console.log(`Hello, my name is ${this.name}`); } } const person = new Person("Alice"); console.log(person.name); // Alice person.greet(); // Hello, my name is Alice ``` 2. private : - `private` 접근 제어자는 클래스 내부에서만 접근할 수 있는 멤버를 정의합니다. 즉, 해당 멤버는 클래스의 인스턴스나 외부에서 접근할 수 없습니다. 이는 클래스의 내부 구현을 숨기고, 외부에서의 잘못된 접근을 방지하는 데 유용합니다. - 예시: ```typescript class BankAccount { private balance: number; constructor(initialBalance: number) { this.balance = initialBalance; } public deposit(amount: number) { this.balance += amount; } public getBalance(): number { return this.balance; } } const account = new BankAccount(100); account.deposit(50); console.log(account.getBalance()); // 150 // console.log(account.balance); // 오류: 'balance'는 private 멤버입니다. ``` 3. protected : - `protected` 접근 제어자는 `private`와 <a href='https://sangseek.com/sangseeks/유사/ko'>유사</a>하지만, 상속된 클래스에서도 접근할 수 있는 멤버를 정의합니다. 즉, `protected`로 선언된 멤버는 해당 클래스를 상속받은 <a href='https://sangseek.com/sangseeks/자식 클래스/ko'>자식 클래스</a>에서 접근할 수 있으며, 외부에서는 접근할 수 없습니다. - 예시: ```typescript class Animal { protected species: string; constructor(species: string) { this.species = species; } } class Dog extends Animal { public bark() { console.log(`Woof! I am a ${this.species}`); } } const dog = new Dog("Dog"); dog.bark(); // Woof! I am a Dog // console.log(dog.species); // 오류: 'species'는 protected 멤버입니다. ``` 접근 제어자의 중요성 접근 제어자는 객체 지향 프로그래밍에서 중요한 개념으로, 다음과 같은 이유로 중요합니다: - 캡슐화(Encapsulation) : 접근 제어자를 사용하여 클래스의 내부 구현을 숨기고, 외부에서의 직접적인 접근을 제한함으로써 데이터 보호 및 무결성을 유지할 수 있습니다. - 유지보수성(Maintainability) : 클래스의 내부 구현을 변경하더라도 외부 코드에 미치는 영향을 최소화할 수 있습니다. 이는 코드의 유지보수를 용이하게 합니다. - 재사용성(Reusability) : 상속을 통해 `protected` 멤버를 사용할 수 있으므로, 코드의 재사용성을 높일 수 있습니다. 결론 타입스크립트에서 접근 제어자는 클래스의 멤버에 대한 접근을 제어하여 코드의 안전성과 유지보수성을 높이는 데 중요한 역할을 합니다. `public`, `private`, `protected`와 같은 접근 제어자를 적절히 사용함으로써, 개발자는 더 나은 구조의 코드를 작성하고, 객체 지향 프로그래밍의 원칙을 준수할 수 있습니다. 이러한 접근 제어자는 특히 대규모 애플리케이션에서 코드의 복잡성을 관리하는 데 필수적입니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기