본문 바로가기

Programming/Python

클래스, 객체, 상속

클래스, 객체, 상속


이번에는 클래스에 대해서 알아보도록 하겠습니다. 클래스에 대해서 알려면 객체와 상속에 대해서도 알아야 합니다.

C언어에서는 클래스가 없어서 사용을 하지 못하지만, C++, JAVA에서는 클래스를 사용할 수 있습니다. python에서도 마찬가지죠.





위 소스코드를 보도록 하겠습니다. 


python의 클래스는 class 라고 입력하고 사용하면 됩니다.


한 줄 한 줄 소스코드를 해석해 보도록 하겠습니다.


1 : name 이라는 이름을 갖는 클래스를 선언합니다.


2: def __init__(self)는 클래스를 생설할 때 자동으로 호출됩니다. C++의 생성자와 비슷하며, 인자 값을 이용할 때 필요합니다.


3: self가 사용되는데, self는 C++, JAVA에서 사용되는 this와 비슷합니다. 현재 객체를 가리키는데 사용됩니다.


4: 3줄과 마찬가지 입니다.


5: 일반적인 함수 선언입니다. 전달 인자값으로 self가 있는데 마찬가지로 현재 객체의 값을 가져오는데 사용됩니다.


6: 현재 객체의 값을 더해서 반환합니다.


8: Object_name이라는 객체를 만듭니다.


10: Object_name 객체에 sum()에 접근합니다.









객체


객체에 대해서 조금 설명을 붙이자면, 사람에게는 손, 발, 머리 등의 여러가지로 이루어져 있습니다.


손, 발, 머리 등이 모두 객체입니다. 모두 각자 하는 기능들이 존재하는데 이러한 것을 객체라고 합니다. 


프로그래밍 입장에서 말하자면 객체는 객체를 구현하면 그 객체의 기능을 구현하여 사용하는 것을 말합니다.










상속


상속이라는 단어의 뜻은 자식이 부모에게 재산을 상속했다는 말이 떠오를 것입니다. 이 말을 해석해보면 부모의 권한이 자식에게 넘겨졌다는 말과 같습니다.

자식도 부모와 같은 권한을 얻게 되는 것입니다.




현재 in_Calculator 클래스는 Calculator 클래스를 상속 받았습니다. 그러면 in_Calculator 클래스는 Calculator 클래스의 기능을 사용할 수 있게 되는 것입니다.

in_Calculator 클래스는 pow() 기능만 가지고 있지만 상속을 받았으므로 add()와 nul()의 기능도 사용할 수 있게 되는 것입니다.




'Programming > Python' 카테고리의 다른 글

패키지  (0) 2016.03.14
모듈  (0) 2016.03.14
함수  (0) 2016.03.14
조건문, 반복문  (0) 2016.03.14
연산자  (0) 2016.02.21