본문 바로가기

전체 글

(50)
클래스, 객체, 인스턴스 클래스(Class)는 객체(Object)를 만들기 위한 일종의 설계도입니다. 즉, 클래스는 객체를 만들기 위한 필드(속성)와 메서드(기능) 등의 특성을 정의하고, 이를 바탕으로 객체를 생성할 수 있도록 합니다. 객체(Object)는 이러한 클래스를 기반으로 실제로 만들어진 것으로, 메모리상에 할당된 실체를 의미합니다. 객체는 클래스를 통해 만들어지는 실체로, 여러 개의 객체를 만들 수 있습니다. 인스턴스(Instance)는 객체를 생성한 후, 이를 사용할 수 있도록 메모리에 할당한 상태를 의미합니다. 즉, 클래스를 기반으로 만들어진 객체가 실제로 메모리에 할당되어 사용 가능한 상태가 되었다면, 이를 해당 클래스의 인스턴스라고 합니다. 간단하게 예를 들면, 붕어빵틀은 클래스이고, 붕어빵은 객체입니다. 이후..
프로그램 패러다임 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그램을 객체라는 개별적인 단위로 분해하고, 이 객체들 간의 상호작용을 통해 프로그램을 구현하는 프로그래밍 패러다임입니다. 쉽게 예를 들자면, 슈퍼마켓에서 물건을 살 때, 물건의 이름, 가격, 수량 등의 정보를 담고 있는 제품 카트를 생각해볼 수 있습니다. 이 카트는 제품의 정보를 캡슐화하고 있으며, 제품 카트는 구매자가 물건을 추가하거나 제거하거나 결제할 수 있는 메서드를 가지고 있습니다. 객체 지향 프로그래밍에서는 이러한 객체를 모델링하고, 객체 간의 관계를 나타내는 클래스를 정의합니다. 이렇게 객체를 모델링하면, 코드의 가독성, 재사용성, 유지보수성이 향상되며, 프로그램의 확장성도 좋아집니다. 예를 들어, 슈퍼마켓..
단일 책임원칙(Single-responsibility principle) 단일 책임원칙(Single-responsibility principle)은 객체 지향 프로그래밍에서 중요한 디자인 원칙 중 하나입니다. 이 원칙은 하나의 클래스는 하나의 책임(Responsibility)만을 가져야 한다는 것을 의미합니다. 클래스는 하나의 책임만을 가지며, 그 책임을 완전히 수행해야 합니다. 이를테면, 게임에서 플레이어(Player) 클래스는 게임 내에서 플레이어와 관련된 기능만을 담당해야 하며, 다른 역할을 수행하지 않아야 합니다. 예를 들어, 플레이어 클래스가 게임 내 오디오(Audio) 관련 기능까지 담당한다면, 이는 단일 책임 원칙을 위반하는 것입니다. 이 경우, Audio 클래스를 만들어서 플레이어 클래스에서 Audio 클래스를 사용하도록 분리하는 것이 좋습니다. 이러한 원칙을 ..