코드와 관련된 데이터는 한데 모으는게 좋습니다.
즉, 비슷한 기능을 하는 함수등을 하나로 모아서 관리하는 것은 프로그래밍에서 보통 말하는 유지보수성이 좋아진다고 말한다.
유지보수성이란?
특정한 기능의 수정사항, 향상들을 위해 코드를 수정하는데 얼마나 힘들이지 않고, 코드를 수정할 수 있느냐.
그런데 마구잡이로 구성이 되어있다면, 전체 코드를 손 봐야 한다는 것은 엄청 비효율적이라고 할 수 있습니다.
그래서 프로그래밍에서는 코드를 작성 할 때 항상 유지보수를 염두해 두어야 합니다
뭐.. 이렇게만 알고 넘어가죠!
그래서 파이썬에서도 클래스(Class)라는 것이 있는데, 프로그래밍을 해본 분들은 C++ , Java, C#에서 많이 보셨겠으나
프로그래밍을 안해보셨다면, OOP라는 것이 생소합니다. 물론 파이썬은 OOP개념의 클래스가 있습니다.
클래스의 개념부터 설명드리자면 ( 읽고 넘어가셔도 되지만, 읽지 않으셔도 무방합니다.)
C 언어부터 설명을 해야 하는데 C와 같은 정적 바인딩 언어의 경우 (C++, Java, C#)등은
변수 선언시 자료형을 미리 선언을 해주어야 합니다. 그래서 명확하죠. int a 는 정수형만을 담을 수 있습니다.
정수형 여러개를 담으려면 int a[10] 즉, 배열을 선언해서 사용하면 됩니다.
그럼 자료형이 여러개인 것을 가지려면???
그래서 나온 개념이 구조체라는 개념이고 이 구조체의 개념에 함수까지 포함한 것이 클래스입니다.
클래스는 코드와 데이터를 한데 묶는다!
클래스를 사용하면 복잡도를 줄일 수 있습니다.
복잡도가 줄어들면, 버그도 적어집니다.
버그가 적어지면, 유지보수도 쉬워집니다.
즉, 클래스를 사용하는 것이 좋다라고 할 수 있습니다.
파이썬은 표준적인 객체 지향 프로그래밍(OOP)의 모델을 따르므로 코드와 코드가 처리 할 데이터를 클래스에 정의 할 방법을 제공합니다.
일단 클래스를 정의 하고 나면 클래스를 사용해서 데이터 객체(인스턴스)를 만들 수 있습니다.
OOP에서는 코드를 메서드 , 데이터를 속성, 데이터 객체를 인스턴스라고 말합니다.
클래스의 구조를 살펴 볼까요?
>>> class Test: def __init__(self): print ("class create") >>> a = Test() class create >>>
'프로그래밍 > Python' 카테고리의 다른 글
Class의 등장 3탄 상속?? (0) | 2015.01.01 |
---|---|
Class의 등장 2탄 (0) | 2015.01.01 |
새로운 데이터 구조 딕셔너리(dictionary) (0) | 2014.12.31 |
중복 제거는 어떻게??? - 집합(set) (0) | 2014.12.29 |
지능형 리스트??? (0) | 2014.12.29 |