[Python] Dataframe이 클래스라고? (1)

2022.01.23 18:44 1,206 조회

What is 'Class'?

파이썬을 배우면서 객체지향이라는 단어를 한번 쯤은 들어보셨을 거라 생각합니다.

오늘 배울 클래스는 이러한 객체지향의 핵심이라고 할 수 있습니다.


물론, 왜 클래스를 배워야 하는 지 의문이 들 수 있지만 생각보다 클래스는 많은 곳에서 사용이 됩니다.

여러분이 한번이라도 파이썬을 사용한 적이 있다면 분명히 클래스를 사용한 적이 있다고 말할 수 있을 정도입니다.


바로, int, float과 같은 원시 자료형부터 list, tuple 그리고 pandas의 Dataframe까지 모두 클래스로 구성되어 있기 때문입니다.



클래스는 무엇일까요?

클래스는 객체를 표현하기 위한 문법입니다.

여기서, 객체는 사람, 학생, 체크 박스 등 특정한 개념 혹은 모양이 존재하는 실체를 의미합니다.

이렇게 객체를 사용한 프로그래밍 언어를 객체지향 언어(Object Oriented Language)라고 하며, 파이썬 또한 객체지향 언어 중 하나입니다.


클래스는 속성과 메소드를 하나로 묶어 놓은 것이라고 할 수 있습니다.

이때, 속성은 사용하기 위한 값을 의미하며 메소드는 만들어진 속성을 통해 어떠한 행동을 하는 실행 코드라고 볼 수 있습니다.


데이터 -> 값 -> 속성(attributes)

기능 -> 행동 -> 메소드(methods)


쉽게 말하면, 게임의 직업(= 클래스) 시스템을 생각하시면 됩니다. 

게임에는 각각의 클래스(전사, 마법사, 궁수 등)가 있고, 각 클래스는 속성(힘, 민첩, 물리공격력, 마법공격력)과 메소드(찌르기, 파이어 볼, 활쏘기 등)를 지니는 것과 동일합니다.


클래스를 왜 배워야 할까요?

1. 구조를 읽은 후에 이해할 수 있어야 쉽게 pandas 등을 활용할 수 있고, 수정할 수 있기 때문입니다.


2. 복잡한 레이어 구조는 Class를 이용해 구현하는 경우도 존재하기 때문에, 딥러닝 모델을 잘 구축하고 효율적으로 활용 및 수정하기 위해서 입니다.




지금까지 클래스가 무엇인지, 그리고 클래스를 왜 배워야 하는 지에 대해 살펴보았습니다. 

다음 게시글은 이러한 클래스를 어떻게 만들고, 사용하는 지에 대한 내용으로 돌아오겠습니다. 


  • 아직 배우는 입장으로 부족한 점이 많습니다. 수정해야하거나, 추가해야할 점이 있다면 댓글로 조언 부탁드립니다.
  • 본 게시글은 데이콘 서포터즈 ‘데이크루’ 1기 활동의 일환입니다.


Reference

[1] https://dojang.io/mod/page/view.php?id=2372

[2] https://nirsa.tistory.com/110](https://nirsa.tistory.com/110)