-
[JAVA & Python] Class, Instance, Object 개념 정리Data miner 2019. 3. 28. 15:53728x90
오늘 정리하는 개념은 클래스, 인스턴스, 객체라는 개념이다. 코드를 짜거나 이미 작성된 코드를 활용할 때 대부분 pacakage 부분 밑으로 등장하게 되는 'class' 부분의 코드이다. 이 클래스라는 개념을 이해하기에 '설계도'라는 표현이라는 가장 잘 와닿았다. 그러니까 어떤 일을 하게 될 때 이 클래스는 작업자가 명명하는 구체적인 일들을 처리한다고 보면 된다. 아래의 class 예시는 NormalizationMain으로 이름이 붙여져 있는데, 이는 이하의 코드 설계 도면은 텍스트 마이닝에서 '정규화'라는 일을 하게 되는 코드다. 이 설계도는 변수와 메소드(문법)으로 구성되어 있으며, 변수와 문법들이 '정규화'하는 작업을 돕는 부속품이라고 생각하면 편리하다.
Class 와 관련한 코드 부분.java 자, 이제 이 설계도를 멋드러지게 완성했다고 상상해보자. 이 설계도를 실행하려면 어떻게 해야 할까? 이 때, '인스턴스'와 '객체'라는 개념이 등장한다. 클래스는 인스턴스를 통해서 구체적인 데이터 형태로 나타날 수 있다. new라는 명령어를 통해서, Normalization의 인스턴스를 생성하게 되고 이 인스턴스 명령 정보가 Gulliva라는 객체에 담기게 된다. 인스턴스와 객체라는 개념이 혼동이 되었는데, '객체'라고 부르는 것이 더 자연스럽다. Gulliva와 NormalizationMain(Class)와의 코드 관계를 나타낼 때 필요한 개념이 '인스턴스'이며, Gulliva를 개별적으로 호칭할 때는 객체라고 생각하게 된다.
인스턴스(제품) 생성, 그리고 객체.java 요약하자면, 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