차례
1. 객체지향프로그래밍 이란?
2. 클래스란?
객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고 받고, 데이터를 처리할 수 있다. 밑에서 이해하기 쉽게 설명하니까 이해되지 않더라도 걱정할 것 없다.
객체 지향 프로그래밍을 제대로 이해하기 위해서는 클래스(Class)개념을 이해해야 한다 위에서 자동차로 예를 들면 hyundae에서 만든 아반떼와 kia에서 만든 k5는 같은 자동차라는 공통점이 있지만 자동차 이름, 부품 등 다른 점이 많다. 즉, 자동차는 클래스(Class)이고, 아반떼와 k5는 Instance(Object)이고, 각 자동차들의 부품들을 Attribute라고 한다.
클래스(Class) 장점
코드의 재사용성
코드의 중복 방지
코드로 설명하면 일반적인 코딩은
# 아반떼
car_name = "아반떼"
car_color = "blue"
car_company = "hyundae"
# k5
car_name = "k5"
car_color = "black"
car_company = "KIA"
이러한 코딩 구조는 변수를 따로 선언을 해주어야 한다. 이렇게 되면 오타가능성도 높고 나중에 Debug 과정에서 일일이 찾아서 수정하여야 하므로 불편한다. 그렇지만 Class구조는
class Car():
def __init__(self, name, color, company ):
self._name = name
self._color = number
self._company = company
student1 = Car("아반떼", "blue", "hyundae")
student2 = Car( "k5", "black", "KIA")
이와같이 아반떼와 k5의 중복되는 부분은 Class로 정의하여 코드의 중복을 최소화하였고, 아반떼와 k5가
객체를 생성할때 같은 클래스(Class) 사용함으로써 재사용성이 증가하였고, Debug과정에서 객체에 정보만 변경하면 되기때문에 쉽게 수정이 가능하다
이와 같이 class와 함수를 통해 코드를 설계하는 것이 객체지향프로그램이다.
객체지향프로그래밍을 사용하면 코드의 중복 최소화와 재사용성이 증가하여 코드가 간결해지고 오류수정도 편하기 때문에 요즘은 이를 이용해서 코딩구조를 많이 짜는 편이다