목록분류 전체보기 (120)
woojin++
비쥬얼 코드에서 사용한 델리게이트이다. 애초에 유니티에서는 델리게이트를 class 밖에서 선언하지않는다. 유니티에 적용된 델리게이트 사용법을 살펴보자. (물론 유니티에서는 델리게이트보다는 익명함수 Action을 많이 사용한다) 대리자 체인 class Program 의 static void Main(string[] args) 부분 어느 유튜브 강사의 유니티 델리게이트 강의 영상이다 Test 라는 Class 안에 델리게이트를 선언 그리고 Start 함수에 체인을 건다. 보통 이런식으로 많이 사용한다. 당연히 유니티에서 각 클래스의 생성자는 없다. 왜냐 스크립트는 컴포넌트 된 상태이고, 하이라키에 이미 객체로 존재하기때문이다. (요건 기본) 대리자 콜백 Test 클래스 내부 AscendCompare 와 Des..
인터페이스는 클래스와 비슷하게 선언하지만 , 클래스 다르게 인스턴스를 가질 수 없다 . 클래스가 상속받아 활용하는 개념이다. 메소드 , 이벤트 , 인덱서 , 프로퍼티 를 가질 수 있으며 , 선언만 가능하고 구현 내용을 정의 할 수 없다. 구현부는 상속받은 클래스에서 정의한다. 그리고 상속받은 클래스는 인터페이스에서 선언된 모든 항목에 대하여 구현부를 정의해야한다. 즉, 인터페이는 상속받아 활용하는 '틀'로서의 역할을 한다고 볼 수 있다. 또한 인터페이스는 인스턴스를 가질 수는 없지만 참조 변수를 만들 수는 있다. 따라서 인스턴스의 참조 변수를 만들고 해당 인터페이스를 물려받은 클래스들에 대한 참조를 저장할 수 있다. 하지만 해당 인터페이스에 선언된 것만 사용 할 수 있다. 하지만 다운 캐스팅하면 사용 할..
클래스와 구조체는 데이터 타입생성기 라는 점에서는 유사하지만 아래와 같은 차이점이있다 * 구조체(struct)는 클래스를 상속을 할 수 없다. 다만 Interface는 상속가능 - 상속을 할 수 없으므로 멤버의 액세스 지정자에 protected를 사용할 수 없다. * 클래스(class)는 Reference타입 구조체(struct)는 Value타입 * 클래스(class) 객체는 힙(heap)에 할당되지만 구조체(struct) 객체는 스택(stack)에 할당된다.(타입차이에 따른 메모리 할당) - 하지만 구조체로 선언을 했어도 객체를 힙영역에 메모리를 할당할 때가 있다. 1. 모든 필드의 합이 16byte를 넘는 경우이다. 2. 구조체안에 클래스 타입을 필드로 가질 경우이다. C#에서는 위의 두경우와 상속이..
Class(클래스는) 사용자 정의 형식입니다. 클래스는 객체를 생성하기 위해 변수와 메서드를 정의하는 틀입니다. 객체는 클래스로부터 생성된 메모리에 저장된 값을 의미합니다. 객체는 고유한 속성을 가지며 클래스에서 정의한 기능을 수행할 수있습니다. 자동차 클래스를 정희하고 다양한 자동차 객체들을 생성해봅시다. class 내부에 정의된 특수한 메서드 생성자는 이름이 해당 형식의 이름과 동일 메서드 메서드 이름과 매개 변수 목록만 포함되고 반환 형식은 포함되지 않습니다. 생성자 메서드는 객체 생성시 자동으로 호출됩니다. 생성자를 통해 맴버변수의 기본값을 설정할 수 있습니다. 매개변수가 있는 생성자 객체 생성 시 값을 전달 할 수있습니다. 예를 들어 자동차 객체를 생성할 때 자동차 이름을 전달 할 수있습니다.
변수는 저장된 값의 메모리 주소입니다. 프로그램이 실행되면 크게 2개의 메모리 영역을 사용한다. 첫번째 메모리 영역의 이름은 스택 메모리입니다. 스택은 가장 나중에 넣은 데이터를 가장 먼저 꺼내는 선형적 구조입니다. 두번째 메모리 영역의 이름은 힙 메모리입니다. 힙은 계층적 구조입니다. 임의의 순서로 저장됩니다. 변수가 선언되면 스택 메모리에 공간이 할당됩니다. 변수에 값을 할당 한다는 것은 메모리에 값을 저장한다는 뜻입니다. 모든 값이 스택 메모리에 저장되는것은 아닙니다. 어떤 값들은 힙 메모리에 저장됩니다. 스택에 값이 직접 저장되는 형식을 값형식이라 부릅니다. 힙에 값이 저장되는 형식을 참조 형식이라 부릅니다. 참조형식은 스택과 힙 메모리 모두를 사용합니다. 힙에는 값을 스택에는 값의 주소를 저장합..
캡슐화는 객체 지향프로그래밍의 중요한 기능중 하나입니다. 캡슐화란 물리적, 논리적 패키지내에 하나이상의 항목을 포함하는 프로세스라고 정의됩니다. C# 프로그램에서 캡슐화는 액세스 지정자에 의해 구현됩니다. 액세스 지정자는 클래스 멤버의 범위 및 가시성을 제한하며 다음과 같은 액세스 지정자를 지원합니다. public, private, protected, internal, protected internal 1. public 액세스 지정자 public 액세스 지정자는 클래스 멤버 변수 및 함수를 다른 함수 및 객체에 표시할 수 있도록 합니다. 모든 public 멤버는 class 외부에서 액세스 할 수 있습니다. 다음 예제 코드를 참고하세요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16..