프로그래밍 3

객체지향에서 클래스(Class)와 인터페이스(Interface)의 차이점과 사용방법을 알아보자.

"클래스(class)"와 "인터페이스(interface)"는 객체지향 프로그래밍(OOP)에서 핵심적인 개념이다. 각자의 역할이 분명하며, 특히 다형성과 구조적인 설계에 중요한 역할을 한다. 아래에 차이점과 각각의 역할을 명확하게 정리해 본다. 1. 클래스클래스는 객체의 설계도라 할수 있다. 객체(인스턴스)는 클래스 기반으로 만들어지며, 속성(필드)과 동작(메서드)을 가지고 있다. 아래 예시코드를 보도록 하자.public class Animal{ public string Name; public void Speak() { Console.WriteLine("Some sound"); }} Animal 클래스는 이름 속성과 말하는 메서드를 가지고 있다. 클래스는 객체화(인스턴스화..

프로그래밍 2025.04.13

객체지향 프로그래밍에서의 데이터 추상화(Data Abstraction)란?

1. 데이터 추상화란?  데이터 추상화(Data Abstraction)는 불필요한 구현 세부 사항을 숨기고, 필요한 기능만 외부에 제공하는 개념입니다. C#에서는 클래스(Class)와 인터페이스(Interface) 를 사용하여 데이터 추상화를 구현할 수 있습니다.  2. C#에서의 데이터 추상화 구현 방법 C#에서는 접근 제한자(Access Modifiers) 를 사용하여 데이터 및 메서드의 접근성을 조절할 수 있습니다. public : 외부에서 접근 가능private : 클래스 내부에서만 접근 가능protected : 상속받은 클래스에서만 접근 가능internal : 같은 어셈블리(프로젝트) 내에서 접근 가능 아래 링크는 이전에 발행한 클래스의 접근 제어자를 정리한 글입니다.  클래스의 접근 제어자(A..

프로그래밍 2025.03.27

클래스의 접근 제어자(Access Modifiers)

객체지향 프로그래밍(OOP)에서 클래스의 멤버(변수 및 메서드)에 대한 접근을 제어하는 키워드로, public, private, protected가 있습니다. 이를 통해 데이터 은닉(Encapsulation)을 구현하고, 객체 간의 의존성을 줄여 유지보수성을 높일 수 있습니다. 1. public(공개) 어디서든 접근 가능 (같은 클래스, 같은 패키지, 상속받은 클래스, 다른 클래스에서도 접근 가능)클래스 외부에서도 멤버 변수 및 메서드를 호출할 수 있음객체의 인터페이스를 정의할 때 사용 (즉, 외부에서 접근해야 하는 메서드에 사용)// C#class Example { public int x = 10; public void Show() { Console.WriteLine("H..

프로그래밍 2025.03.18