[Python] 객체와 클래스의 기초 개념

KSHH·2022년 1월 10일

객체

"파이썬(Python)에서 모든 것은 객체(object)다. 그리고 대부분의 객체는 속성(attributes)과 메서드(methods)를 갖는다."

  • 파이썬에서는 정수, 실수, bool, 문자열, 배열, 딕셔너리, 함수, 모듈, 프로그램 등 모든 것이 객체이다. 객체라고 불리는 것들은 모두 변수에 할당될 수 있고, 함수의 인자로 넘겨질 수 있는 것들이다.
  • 객체는 상태(state)를 나타내는 속성(attribute)과 동작(behavior)을 나타내는 메서드(method)가 있다.
  • 객체의 속성은 변수로 구현된다. 객체의 메서드는 함수로 구현된다.

"클래스"에 대한 기본 개념

  • 초창기에 많은 언어들은 데이터(변수)와 함수만을 표현해왔다.
    그런데 프로그램들이 커지다보니 문제가 생겼다. 예를 들어 자동차 A와 B를 각각 변수로 만들고자 한다면 car_a_tire, car_b_tire, car_a_window, car_b_window처럼 많은 변수들이 같은 계층에서 만들어졌다. 함수 또한 car_a_run(), car_b_run(), car_a_stop(), car_b_stop() 처럼 계속 늘어나야 했다.
  • 이를 해결하는 방법은? 만약 Car라는 묶음을 만들어 놓고 Car 묶음 안에 tire를 넣어 놓으면 car_a.tire, car_b.tire 처럼 사용할 수 있으니 계층이 달라지고 변수를 무한히 펼쳐 놓지 않아도 된다.또 함수도 묶음 안에 넣어버리면 car_a.run(), car_b.run()과 같이 사용할 수 있다.
  • 그래서 그 묶음의 형식을 클래스(Class)라고 정하고 실제로 만들어 낸 각각의 묶음(car_a, car_b)을 객체(Object)라고 부르게 된다.

0개의 댓글