목록백지부터 시작하는 이세계 유니티 생활 since 2020 (73)
백지부터 시작하는 이세계 코딩 생활
Property (Attribute) 속성 (Attrubute) 이란 특정 필드의 값에 접근(GET) 하거나 값을 설정(SET) 하는 매서드 (Method). private 으로 선언된 맴버에 대해 접근이나 설정을 위해 사용한다. 속성에는 get 접근자와 (GET Accessor) set 접근자 (SET Accessor)가 존재한다. 속성을 이용하면 필드 공개 수준을 다양하게 처리할 수 있다. using UnityEngine; public class Human { public string name; public int age; public float tall; public string GetName() { return name; } public void SetName(string _name) { this..
캡슐화 (Encapsulation) 특정 객체 ( Object )를 설명하기 위한 필드 (Field)와 매서드 (Method)를 한 곳에 모아 정의하고, 외부에 공개여부를 결정짓는 행위 를 뜻한다. 객체의 속성(data fields)과 행위(메서드, methods)를 하나로 묶는다. 실제 구현 내용 일부를 외부에 감추어 은닉한다. 따라서 접근허용이 불가한 클래스에 접근하는 방법으로 GETTER, SETTER 속성을 사용한다. (속성 또한 필드나 매서드 처럼 클래스를 구성하는 멤버이다.) 접근제한자 (Access modifier) 클래스 외부에서 클래스 내 멤버나 매서드의 공개여부 (사용여부, 접근제한) 를 결정짓는 키워드이다. C# 에서, 접근 제한자가 생략된 맴버는 private 으로 설정된다. Ref..
생성자 ( Constructor ) 생성자란 객체 (Object) 를 인스턴스화 (Instantiate) 할 때 호출되는 매서드 (Method) 이다. 생성자(영어: constructor, 혹은 약자로 ctor)는 객체 지향 프로그래밍에서 객체의 초기화를 담당하는 서브루틴을 가리킨다. 생성자는 객체가 처음 생성될 때 호출되어 멤버 변수를 초기화하고, 필요에 따라 자원을 할당하기도 한다. 객체의 생성 시에 호출되기 때문에 생성자라는 이름이 붙었다. new 키워드 위에 붙는 Method Name () 부분이 생성자를 호출하는 부분이다. 생성자는 클래스를 처음 만들 때 맴버변수나 상수를 초기화 하는 역할을 한다. 따라서 생성자는 클래스를 생성할 때만 호출한다. 특징 : * 생성자도 매서드의 일종으로 구조는 일..
this this 는 클래스의 현재 객체를 가리키는 키워드이다. 클래스의 맴버 변수에 접근하기 위해 사용한다. 맴버 변수에 접근하기 위해 객체를 이용해야 한다. 따라서 멤버가 정의된 클래스 내의 멤버에 접근하기 위해서 현재 객체를 가리키는 this 키워드를 사용된다. * 보통 클래스 내 멤버변수에 접근하고자 할 때 생략된 채로 사용한다. * this 키워드를 사용하면 사용되고 있는 클래스의 객체를 가리키게 된다. (자기 자신의 생성자를 지칭한다) * i.e ) 자신의 인스턴스를 가리키게 된다는 것과도 같다. * static 변수는 클래스 자체에 속하기 때문에 this를 이용해 접근할 수 없다. base base 키워드는 상속관계에 있는 상위클래스를 가리킨다. 때문에 키워드 base는 상속관계에서 상위클래..
상속 ( Inheritance ) 상속이란 하나의 클래스가 다른 클래스의 속성( 멤버 변수 ) 및 기능( 매서드 ) 을 사용할 수 있게 하는 것을 뜻한다. i.e ) 상위클래스의 코드를 하위클래스에서 이어받아 사용할 수 있게 하는 개념이다. 확장의 개념. 상속은 IS - A 관계 ( is a realtionship; inheritance ) 에서 사용하는 것이 가장 효율적이다. IS-A 관계는 추상적인 개념과 구체적인 개념의 관계이다. 따라서 추상적인 클래스를 점차 구체화 하기 위해 사용하는 것이 좋다. 객체지향의 특징 중 한가지 이다. 상속해주는 클래스를 상위클래스(super class), 부모클래스(parent class), 베이스클래스(base class) 라고 부르며 상속받는 클래스를 하위클래스(..
Object Pool Object를 관리하는 저장소 런타임 중에 Object를 생성하는 작업이나 소멸시키는 작업은 프로그램에 부담을 줄 수 있다. 따라서 필요한 Object를 미리 만들어 Pool 에서 관리하여 생성과 소멸시키는 과정에서의 부담을 줄일 수 있다. ex ) 적군 생성, 투사체 (총알) 등등.. 보통 반복적으로 생성되는 Object 들을 많이 관리한다. 미리 만들어둔 Object들은 필요시에 호출되며 호출이 끝나면 다시 Object Pool 로 반납 (다시 수납)되는 알고리즘을 가진다. 만약, 미리 만들어둔 Object들 보다 더 많은 Object 들이 필요해지면 추가적으로 생성된다. Queue (큐) Object Pool 은 일종의 Object 저장소이다. 따라서 Object들을 저장할 수..
Memory 데이터의 저장공간. 이 데이터 저장공간에는 여러 데이터 타입들 각각의 저장공간이 존재한다. 보통 data, stack, heap 정도로 분류된다. C# 의 자료형에는 값 형식 ( value type )과 참조 형식 ( reference type ) 두 가지 형식(type)이 존재한다. 값 형식 : 해당 변수에 실제 데이터 값을 저장하고 있음. 참조 형식 : 해당 변수는 값이 저장되어 있는 곳의 위치(주소값)를 저장하고 있음. Heap은 위치가 정해지지 않으며 용량이 큰 대신 느리다. 변수 선언 시 데이터가 저장되어있는 메모리를 가리킨다. Stack은 정렬되어 있으며 사용제안이 있는 대신 빠르다. 변수 선언 시 데이터가 저장되어있는 메모리를 반환한다. static : 프로그램이 실행되었을 때 ..
Shader Material을 꾸밀 수 있게 한다. 사용하는 방법 : 새로운 Material Class 생성 후, 적용하려고 하는 Shader를 적용시켜 준다. 노란색 박스가 표기된 부분에서 적용시킬 수 있다. Skinned Mesh Renderer를 통해 조작 가능 하다. Element들에 관한 조작은 아래 노락색 박스가 있는 부분에서 할 수 있다. Alpha cutoff 값을 조절하여 원하는 두께의 이미지를 적용시킬 수 있다. 원하는 Material 처리를 위해 Asset에서 구입한 shader를 사용하는 방법과 Custom shader를 사용하는 방법이 있다. Ref. docs.unity3d.com/kr/530/Manual/class-Shader.html 유니티 - 매뉴얼: 쉐이더 에셋 Shader..