카테고리 없음

Programming에서 Class가 뭐지??!!

푸른잎 뱅갈고무나무 2021. 4. 13. 15:06

Class란 용어를 유투브나 강의자료에서 드문드문 얘기를 들으면서도 그 동안은 그 것에 대해 궁금했던 적이 없습니다.

그냥 막연히 내가 사용하지 않을, 혹은 내가 몰라도 기초 level의 Programming을 하는데는 전혀 문제가 될 것이 없어 보였기 때문이였지요.

 

그런데 "TensorFlow로 배우는 딥러닝"이란 강의를 듣다보니 Class에 대한 얕은 지식이나마 필요하게 되었습니다. 그래서 찾아보았습니다. Class가 무엇일까??

 

1. Class란??

   - 위키 정의 : 클래스(class)는 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀이다. 객체를 정의 하기 위한 상태(멤버변수)와 메서드(함수)로 구성된다.

 

   - 쉽게 설명된 정의 : 과자(객체)를 찍어 낼 수 있는 틀(클래스)

 

   - 내가 이해한 정의 : 미리 어떤 형식(객체)를 편하게 정의하기 위해 만들어 놓은 절차

 

   - 목적 : C언어에는 Class가 없다. 즉, Class가 없어도 프로그램을 만드는데는 전혀 지장이 없단 뜻.

             그러나 Class를 정의함으로써 여러번 불러들일 때와 수정 시의 편리성을 개발자에게 줄 수 있다.

             즉, 개발자들이 편하기 위해 만든 것이다.

 

   - 형식 : To be updated

 

그런데 위에 정의에서 객체 지향 프로그램이라고 나오는데 이는 뭐지???

 

2. 객체 (Object)

   - 위키 정의 : 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다

 

   - 내정의 : 내가 관심이 있는 대상. 예를 들어 Weight Estimation Tool을 만든다면 Vessel이라는 Object가 필요하다. Object에는 I.D / TL 등의 자료 구조가 Class에서 정의 될 수 있다.

 

   - 목적 : Class와 함께 사용하여 OOP (Object Oriented Programming, 객체지향프로그래밍)에 사용. 이를 통해 객체별로 나눠 대규모 소프트웨어 개발에 많이 사용.