일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 오공완
- C#
- sha
- 프레임워크
- 환급챌린지
- 암호화
- 2D Camera
- 패스트캠퍼스
- Unity Editor
- Framework
- 패스트캠퍼스후기
- Job 시스템
- job
- 샘플
- RSA
- adfit
- ui
- 가이드
- unity
- Dots
- base64
- TextMeshPro
- 직장인자기계발
- 최적화
- Custom Package
- DotsTween
- Tween
- AES
- 커스텀 패키지
- 직장인공부
- Today
- Total
목록C# (24)
EveryDay.DevUp

* 특성 - Attribute 클래스는 미리 정의된 시스템 정보 또는 사용자가 정의한 정보를 대상 요소와 결합하여 메타데이터에 저장 - 메타 데이터에 저장된 정보를 런타임에서 참조하여 특별한 기능을 수행할 수 있음 - 모든 특성 형식은 Attribute 클래스에서 직간접적으로 파생됨 https://docs.microsoft.com/ko-kr/dotnet/api/system.attribute?view=netstandard-2.0 Attribute 클래스 (System) 사용자 지정 특성에 대한 기본 클래스를 나타냅니다. docs.microsoft.com - AttributeUsageAttribute는 다른 특성 클래스의 사용상의 제한 조건을 걸 수 있는 특성 클래스 - AttributeUsageAttrib..

Unity에서 빌드를 통해 나온 dll 파일을 디컴파일로 확인하면, 코드에서 확인할 수 없는 이슈를 확인할 수 있는 경우가 많다. foreach의 가비지 원인을 확인한다거나, sturct 를 interface로 가져올 때 박싱이 일어나는 이슈 등 동작원리를 좀 더 깊게 확인하기 위해 .DLL을 디컴파일해서 IL을 확인할 수 있다. .Net 디컴파일을 위해서 개인적으로 사용하는 툴은 JetBrains에 DotPeek을 사용한다. 아래의 주소에서 다운로드가 가능하고, 기능을 확인할 수 있다. https://www.jetbrains.com/ko-kr/decompiler/download/#section=web-installer 다운로드 dotPeek: JetBrains가 만든 무료 .NET 디컴파일러 www.j..

매개 변수의 전달 1. 값 형식 매개 변수 - 값 형식의 매개 변수를 전달 할 경우 값 형식의 복사본이 만들어져 메서드에 전달되게 됨 public class ValueTypeSample { public int value = 0; public void AddValue( int value ) { value++; Debug.Log(" AddValue : " + value); } } public class MethodParameter : MonoBehaviour { private void Start() { ValueTypeSample valueTypeSample = new ValueTypeSample(); // 현재 value 값은 0 Debug.Log("value 1 : " + valueTypeSample.v..

액세스 한정자는 멤버 또는 형식의 선언된 접근성을 지정하는데 사용되는 키워드 키워드 접근성 public 제한 없음 protected 포함 및 파생 internal 동일 어셈블리로 제한 protected internal 동일 어셈블리 또는 다른 어셈블리여도 포함하는 클래스에서 파생된 형식 private 포함 private protected 포함 or 동일 어셈블리 내의 포함하는 클래스의 파생 ( C# 7.2 이상 ) * 네임 스페이스에는 액세스 한정자가 허용되지 않음 public class A { } // 동일 어셈블리에서는 internal만 사용할 경우 public과 접근 제어 수준이 동일함 internal class B { } // protected, protected internal, private,..

Unity의 https://docs.unity3d.com/kr/2021.1/Manual/CSharpCompiler.html 문서에 정의된 버전별 C# 컴파일러의 지원 버전을 정리하였다. C# 버전에 따라 기능의 제한이 있기 때문에 서비스 시 Unity 버전에 따른 지원 버전을 확인해야 한다. 근래 Unity는 C# 8.0을 사용하기 때문에 해당 버전을 기준으로 프로그램을 작성하면 된다. ( Unity에서 C#의 모든 기능을 제공하진 않기 때문에 서포트하지 않는 기능에 대해서는 문서를 통해 확인이 필요함 ) Unity 버전 Scripting Runtime Version 컴파일러 C# 버전 2021.2 Roslyn 9.0 2020.2 - 2021.1 .NET 4.6 Equivalent Roslyn 8.0 2..

Struct (구조체)? - 데이터와 관련 기능을 캡슐화할 수 있는 값 형식 캡슐화 : 데이터와 기능을 하나로 묶고, 구현 내용 일부를 외부에 감춤 특징 1. 매개 변수가 없는 생성자를 선언할 수 없음 ( 단, C# 10부터 생성할 수 있게 됨 ). 해당 형식의 기본 값을 생성하는 매개 변수 없는 암시적 생성자를 제공하고 있음 기본 값 : struct (구조체)의 기본 값은 모든 값 형식 필드를 각 형식의 기본 값으로, 참조 필드를 null로 설정함 1) 매개 변수 없는 암시적 생성자를 제공하기 때문에 new struct()를 사용할 수 있음 2) 매개 변수 없는 명시적 생성자를 생성하려고할 경우 에러 발생 public struct A { // 구조체는 매개 변수 없는 명시적 생성자를 추가할 수 없기 때..

● namespace 란? : 클래스 또는 메서드, 변수의 범위를 정의해서 사용할 수 있는 것으로 대규모 프로젝트에서 개발자가 여러명일 경우 또는 외부에 공유되는 모듈 형태의 코드에서 사용된다. : namespace를 정의한 코드 영역과 namespace 밖의 코드 영역은 분리되기 때문에 같은 변수 이름에 같은 메소드 이름을 사용할 수 도 있다. 같은 이름이지만 namespace에 의해 구분할 수 있기 때문에 사용이 가능하다. namespace AAA { public class TestA { } } namespace BBB { public class TestA { AAA.TestCode.TestA testA; /// AAA.TestA TestA testa; /// BBB.TestA } } : using ..

● 주석이란? ▶ 코드를 작성할 때 해당 코드를 이해하는데 도움이 되는 내용이나 설명을 위해 사용하는 글이다. ● 주석의 필요성 ▶ 코드를 작성할 때 몇 줄 안되는 코드를 작성할 수도 있지만 500줄 이상, 1000줄 이상 등 그 이상의 코드를 작성할 때가 있다. 사람은 망각의 동물이기 때문에 코드에 길이가 길어질 수록 앞전의 작성했던 코드의 내용을 잊어버리기도 하고 일정 시간 뒤에 다시 코드를 보면 내용이 기억이 안나는 경우가 있다. 이때 기억을 되살리기 위해 간단한 메모글을 주석으로 남길 수 있다. ▶ 코드를 혼자도 작성할 수 있지만, 실무에서는 개발자가 특정한 기능 한 부분을 작성하고 다른 개발자가 개발한 기능과 합치는 경우가 대부분이다. 이때 다른 개발자가 이해할 수 있도록 간단한 메모글을 주석으..

● Boxing, Unboxing 의 정의 ▶ Boxing ( 박싱 ) : 값 형식을 참조 형식으로 변환하는 것을 말한다. boxing은 암시적으로 발생한다. ( 예를 들어 int, float 를 object 로 변환하는 것을 말하는데 이 과정에서 단순 참조의 20배에 해당 하는 오버헤드와 메모리의 추가 사용이 발생합니다. ) int test = 100; object tetsObj = test; ▶ UnBoxing ( 언박싱 ) : 참조 형식을 값 형식으로 변환하는 것을 말한다. Unboxing은 명시적으로 발생한다. ( 예를 들어 object를 int, float로 변환하는 것을 말하는데 이 과정에서 일반적인 할당의 4배에 달하는 시간이 소요된다. ) int test = 100; object testO..

▣ 기본 설정 https://everyday-devup.tistory.com/44 [Unity] 프레임 워크 가이드 - 패키지 다운 및 기본 씬 설정 Framework Package를 다음의 링크에서 다운로드 https://everyday-devup.tistory.com/40 [Unity] 프레임 워크 기능 및 사용 가이드 프레임워크의 기능 업데이트 및 사용 가이드를 관리하는 페이지 #2020-05-08 프.. everyday-devup.tistory.com ▶ PlayerPrefs를 이용한 파일 저장/불러오기 private void Start() { string testData = "테스트 데이터"; FileUtil.SavePlayerPrefs( "test", testData ); Debug.Log( ..