방명록
- C# 기초 Encapsulation이란?2024년 11월 19일 14시 11분 25초에 업로드 된 글입니다.작성자: Devrun반응형
Encapsulation은 객체 지향 프로그래밍 OOP라는 프로그래밍 기법에서 핵심 원칙 중 하나이며, 데이터를 처리하는 Method를 그룹화하고 접근 및 수정 방법을 제어하는 과정이다. 이를 통해서 데이터의 무결성을 보장하고, 외부에서 복잡한 구현된 세부 사항을 숨길 수 있다.
OOP의 4가지 핵심
1. Abstraction (한국어: 추상화)
- 관련 데이터와 행동을 논리적이고 ㅈ배사용 가능한 구조로 그룹화하는 과정
2. Encapsulation(캡슐화)
- 데이터에 대한 접근을 제어하고 클래스 외부에서 중요한 데이터가 손상되지 않도록 보호하는 과정
3. Inheritance(상속)
- 기존 클래스의 특성과 동작을 새로운 클래스에 상속하여 재사용
4. Polymorphism(다형성)
- 동일한 이름의 메서드가 서로 다른 동작을 수행
캡슐화를 구현하는 방법
1. 접근 제어자 사용 (public, private)
C#에서는 접근 제어자를 사용하여 클래스 멤버(필드와 메서드)의 접근 수준을 제어합니다:
- public: 클래스 외부에서 멤버에 접근 가능.
- private: 클래스 내부에서만 멤버에 접근 가능.
- protected: 클래스 내부 및 상속받은 클래스에서 접근 가능.
- internal: 동일한 어셈블리 내에서 접근 가능.
class Person { private string name; // 외부에서 접근 불가 public int age; // 외부에서 접근 가능 public void SetName(string newName) { name = newName; // private 필드에 접근 가능 } public string GetName() { return name; // private 필드에 접근 가능 } }
2. 프로퍼티와 자동 프로퍼티
C#에서는 프로퍼티를 사용해 필드에 대한 접근을 제어할 수 있습니다:
- get 접근자는 데이터를 읽을 수 있게 허용.
- set 접근자는 데이터를 수정할 수 있게 허용.
class Person { private int age; public int Age { get { return age; } set { if (value > 0) { age = value; // 양수만 설정 가능 } } } }
3. static 멤버와 클래스
- static 멤버: 클래스 자체에 속하며, 모든 인스턴스에서 공유.
- 예: Math 클래스의 Math.PI.
- static 클래스: 인스턴스를 만들 수 없고, 정적 멤버만 포함.
class MathUtilities { public static double Add(double a, double b) { return a + b; } }
반응형'C# > 언어' 카테고리의 다른 글
C# 루프 제어: break와 continue (1) 2024.11.18 C# 기초 Array(배열)에 대해서 (0) 2024.11.16 C#에서 알아보는 Out Parameters (0) 2024.11.15 C# 기초 if statement와 Switch를 사용해서 passwordchecker를 만들어보자 (0) 2024.11.14 c# 기초 COMPARISON OPERATORS(비교 연산자) (1) 2024.11.14 다음글이 없습니다.이전글이 없습니다.댓글