[Python]클래스

2021. 1. 6. 01:17Python

클래스는 특이하게 c언어에는 존재하지 않습니다.

즉슨 클래스를 사용하지 않아도 프로그래밍이 가능하다는 뜻입니다.

그러나 클래스의 편리함과 효율성을 알아보면, 왜 클래스가 중요한지 알게 될것입니다.

 

먼저 클래스를 가장 쉽게 설명하지만,

길거리에서 파는 붕어빵들을 보았을 것입니다.

거기서 붕어빵을 만드는 틀을 클래스(class)라고 하며,

틀로 만든 붕어빵들을 객체(object)라고 합니다.

 

용어 간단한 개념을 알아보았으니 어떻게 사용되는지 예시를 통해 알아보겠습니다.

스타크래프트에서 유닛을 생성하고 공격하는것에 대한 것으로 예시를 들어보겠습니다.

※__init__함수를 사용할 것입니다.(메서드 생성자)

먼저 Unit이라는 변수를 설정하고 이를 클래스로 지정할 것입니다.

앞서 말했뜻이 Unit은 객체를 만들기 위한 틀이라고 생각하면 쉽습니다.

그 아래, 틀에 대해 함수를 지정해 보겠습니다.

__init__메서드는 첫 번째 매개변수 self에 생성되는 객체가 자동으로 전달된다는 것입니다.4

이후 각 변수들을 지정해 주고 , 위와 같이 입력해 보았습니다.

 

인제 틀은 모두 지정이 되었고 틀에 맞추어 객체들을 출력해 보려 합니다.

 

마린과 탱크를 출력해보고 싶어,

각 유닛의 이름,체력,공격력을 Unit이라는 클라스에 맞추어 입력해 보았습니다.

위와 같이 입력후 출력해보면 아래와 같은 결과가 나오는것을 확인해 볼수 있습니다.

앞서 작성한 Unit이라는 클래스에 맞춘 값들이 출력되는 것을 확인해 볼 수 있습니다.

 

 

이번에는 조금더 응용해 확장개체를 알아보겠습니다.

위에, 작성한 유닛에서 레이스2를 만드는데 이를 빼았아왔다는 내용을 확장하여 출력하고 싶습니다.

앞선 Unit클래스에 덧붙여 아래와 같은 조건을 입력해 보았습니다.

위와 같이 새로운 조건을 추가한후 , format에서 클래스에서 생성했던 객체들을 뽑아와서 출력해보면 ,

아래와 같은 결과값이 나오는것을 확인할 수 있습니다.

 

 

이처럼,클래스를 활용하면 좀더 효율적으로 코딩을 할 수 있습니다.

무조건 사용해야 하는 것은 아니지만, 우리가 코딩을 하는 이유인, 효율성을 높이기 위해서는 필요한 프로그래밍인것 같습니다.

 

클래스의 개념과 이때 사용되는 메서드에 대해서도 잘 기억해 두어야 할것 같습니다.

'Python' 카테고리의 다른 글

[Python]상속, 다중상속  (0) 2021.01.07
[Python]파일 입,출력을 활용한 quiz  (0) 2021.01.06
[Python]파일 입력 출력  (0) 2021.01.05
[Python]함수로 표준체중구하기  (0) 2021.01.05
[Python]함수설정  (0) 2021.01.04