Search
📁

객체와 클래스

객체지향 프로그래밍(OOP)에서 객체와 클래스는 중요하다.

클래스(Class)

클래스는 객체를 만들기 위한 설계 도면 또는 틀.
ex) 붕어빵 틀
사실 붕어빵 틀 이라는건 잘못된 예시다. 나중에 정리해서 설명 예정
클래스는 객체의 속성(변수) + 행동(메서드).
객체를 생성하기 위한 틀이지만 실제로 메모리 상에 올라가지는 않는다.
여러 객체들이 같은 클래스를 기반으로 생성될 수 있음.
ex) 사람 클래스는 이름, 나이 등의 속성과 걷는 행동 등의 메서드를 정의할 수 있음.

객체(Object)

객체는 클래스의 인스턴스이다. 즉, 클래스를 실제로 메모리 상에 할당한 것.
객체는 클래스에 정의된 속성과 메서드를 가지고 있다.
클래스의 인스턴스화(instantiation) 과정을 거쳐서 생성됨.
객체는 메모리 상에서 데이터를 저장하고 해당 데이터를 처리할 수 있는 기능을 제공함.
ex) John 이라는 이름의 객체는 사람 클래스에 정의된 속성(이름, 나이 등)과 메서드(걷는 행동)를 가지고 있다.

클래스와 객체의 관계

클래스는 객체를 생성하기 위한 설계도면으로, 객체를 생성하기 위한 틀을 제공함.
객체는 클래스의 인스턴스로, 클래스를 기반으로 생성된 실체.
즉, 클래스는 객체를 생성하기 위한 틀을 제공하고, 객체는 해당 클래스의 속성과 행동을 가지고 있는 실체이다.
"자동차"라는 클래스
속성으로는 차량 번호, 모델, 색상 등
메서드로는 주행, 정차, 외부 소리 출력 등의 행동을 정의
이 클래스를 기반으로 "BMW"라는 객체를 생성하면 실제로 "BMW"라는 차가 만들어지는 것.
이 객체는 "자동차" 클래스에 정의된 속성과 메서드를 가지게 된다.