-
[JAVA & Python] Class, Instance, Object 개념 정리Data miner 2019. 3. 28. 15:53728x90
오늘 정리하는 개념은 클래스, 인스턴스, 객체라는 개념이다. 코드를 짜거나 이미 작성된 코드를 활용할 때 대부분 pacakage 부분 밑으로 등장하게 되는 'class' 부분의 코드이다. 이 클래스라는 개념을 이해하기에 '설계도'라는 표현이라는 가장 잘 와닿았다. 그러니까 어떤 일을 하게 될 때 이 클래스는 작업자가 명명하는 구체적인 일들을 처리한다고 보면 된다. 아래의 class 예시는 NormalizationMain으로 이름이 붙여져 있는데, 이는 이하의 코드 설계 도면은 텍스트 마이닝에서 '정규화'라는 일을 하게 되는 코드다. 이 설계도는 변수와 메소드(문법)으로 구성되어 있으며, 변수와 문법들이 '정규화'하는 작업을 돕는 부속품이라고 생각하면 편리하다.
자, 이제 이 설계도를 멋드러지게 완성했다고 상상해보자. 이 설계도를 실행하려면 어떻게 해야 할까? 이 때, '인스턴스'와 '객체'라는 개념이 등장한다. 클래스는 인스턴스를 통해서 구체적인 데이터 형태로 나타날 수 있다. new라는 명령어를 통해서, Normalization의 인스턴스를 생성하게 되고 이 인스턴스 명령 정보가 Gulliva라는 객체에 담기게 된다. 인스턴스와 객체라는 개념이 혼동이 되었는데, '객체'라고 부르는 것이 더 자연스럽다. Gulliva와 NormalizationMain(Class)와의 코드 관계를 나타낼 때 필요한 개념이 '인스턴스'이며, Gulliva를 개별적으로 호칭할 때는 객체라고 생각하게 된다.
요약하자면, NormalizationMain(클래스)의 하나의 인스턴스로서 Gulliva라는 객체가 생성되었다. 라고
위의 코드 내용을 이해하면 된다!
'Data miner' 카테고리의 다른 글
#분류문제 #Decision tree (0) 2019.06.15 Variance <->Bias 와의 균형 문제(trade-off) (1) 2019.06.11 머신러닝 알고리즘, 모델, 그리고 가정 (0) 2019.06.11 통계, 머신러닝, 데이터 마이닝, 인공지능... 학문 분야에 대한 정리 (0) 2019.06.11 [Text mining] RAKE(Rapid Automatic Keyword Extraction) Algorithm (1) 2019.03.29