백지부터 시작하는 이세계 코딩 생활

Class 와 Object 와 Instance 본문

백지부터 시작하는 이세계 유니티 생활 since 2020

Class 와 Object 와 Instance

조아덕 2020. 12. 1. 17:12
Class (클래스)

객체 (Object)를 만들기 위해 존재하는 Struct + Method 의 구성 단위이다. 따라서 Class는 하나의 거푸집 (설계도) 이라고 생각할 수 있다. 이때, 객체를 만들기 위해서는 해당 객체가 어떤 속성기능을 가지고 있는지 정의 해줘야 하는데 이 역할을 담당하고 있는 것이 Class 이다. 다시 말해 객체 생성을 위한 하나의 거푸집 (틀) 이라고 생각할 수 있다.
i.e ) 객체지향프로그래밍 (Object Oriented Programming) 을 위한 객체의 생성 거푸집.

 

Object (객체, 오브젝트)

Class (설계도)에 따라 생성된 실체화 된 것. 메모리에 할당 된다.

 

Instance (인스턴스)

Object (객체)는 Class (클래스)의 Instance (인스턴스) 이다.
설계도(Class)에 짜여진 대로 객체(Object)를 생성 "하는 것" (행위)을 C# 에서는 "인스턴스화" 한다고 표현한다.
그리고 이렇게 생성 "된 것" (=실체화, 객체; Object)을 "인스턴스 (Instance) " 라고 표현한다.

 

Abstraction (추상화)

인간이 인지하고 있는 개념들이나 사물들의 속성기능컴퓨터 언어로 모델링 하는 것을 의미한다.
( 추상화를 통한 속성과 기능들의 묶음을 Class라고 한다. )
추상화를 이용해 클래스를 정의하는 이유는 인간이 생각하는 개념들을 C언어로 쉽게 모델링 할 수 있기 때문이다.

Abstraction (추상화) 개념도


추상화가 필요한 이유 (= Instance 사용 이유) : 매번 반복작업을 하지 않기 위함이다.

Human 이라는 Class를 통해 주황이라는 Class와 연두라는 Class를 실체화 한다. (만든다)
이때, 주황과 연두라는 각각의 Class 내에서 새롭게 구현하는 것이 아니라 Human 이라는 Class로부터 구현된다.
이렇게 만들어진 (실체화된) 주황과 연두는 Human Class로 만들어진 Object (객체) 라고 일컫어 진다.

Class 와 Object 개념도, Instance

 


Member, Field, Method

Member : 클래스 내의 속성기능은 필드(Field)와 매서드(Method)라고 정의되며 이를 합쳐Member라고 한다.

Field : 클래스 내에 선언된 자료형 을 뜻한다.

Method : Member Funtion 을 뜻한다.
인수(Argument)와 매개변수(Parameter)를 다루며 결과값을 반환(return) 하는 형태를 가진다.
클래스 내부에서 사용하는 맴버함수 (member funtion) 를 지칭한다.
맴버함수는 맴버변수를 사용하여 클래스의 기능을 구현한다.

Parameter : Method 를 호출할 때 전달되는 변수. (고정되지 않는 수)
Argument : Method 를 호출할 때 전달되는 인수. (고정된 수)

ex ) y = log(x) 에서 x는 매개변수의 의미를 가진다. 만약 y = log(2) 에서 인수값은 " 2 " 이다.

호출 : 정의된 매서드 (Method)를 실행시키는 것을 의미한다.

 

 

 


Ref.

marshmello.tistory.com/33

 

[Unity] C# 프로그래밍 - 클래스와 오브젝트

저번글에서는 C# 기본문법에 대해 공부하였습니다. 이번글에서는 클래스와 오브젝트에 대해 공부해보겠습니다. 게임속 사물을 오브젝트라고 합니다. 그러한 오브젝트들이 상호작용하여 프로그

marshmello.tistory.com

* 클래스라는 거푸집으로 객체(Object)를 실체화(만들어) 하는 것을 "인스턴스화" 라고 하며, 인스턴스화를 통해 만들어진 Object를 "인스턴스" 라고 함. (객체는 인스턴스의 상위개념이다)

 

gmlwjd9405.github.io/2018/09/17/class-object-instance.html

 

[Java] 클래스, 객체, 인스턴스의 차이 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

 

'백지부터 시작하는 이세계 유니티 생활 since 2020' 카테고리의 다른 글

Shader  (0) 2020.12.01
Angular Drag, Mass, Drag  (0) 2020.12.01
FindObjectOfType 와 GetComponent  (0) 2020.11.27
struct 와 Class  (0) 2020.11.26
Raycast, RaycastHit, DrawRay  (0) 2020.11.24
Comments