객체지향프로그래밍 3

GoF(Gang of Four) 디자인 패턴에 대해서 알아보자.

GoF 디자인 패턴은 1994년, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides라는 네 명의 저자들이 『Design Patterns: Elements of Reusable Object-Oriented Software』라는 책을 통해 체계적으로 정리한 23가지 소프트웨어 설계 패턴을 의미한다. 이 네 명을 가리켜 흔히 "Gang of Four", 즉 "GoF"라고 부른다. 이들이 정리한 디자인 패턴의 목적은 객체지향 프로그래밍(OOP)의 핵심 가치를 극대화하는 데 있다. 구체적으로는 코드의 유지보수성, 확장성, 그리고 재사용성을 향상시키기 위해 설계 단계에서부터 코드 구조를 체계적으로 잡는 것을 목표로 한다. 복잡한 시스템을 개발할 때, 잘 정의된 패..

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

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

프로그래밍 2025.04.13

클래스의 접근 제어자(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