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