목록프로그래밍 (71)
STIKA
24.03.26 Tue ❤️ TIL [50] Today I Learned ✏️ 작업 내용 ✔️ ✔️ ✔️ 두둥 픽셀퍼펙트카메라 타일맵 룰타일로 애니메이션도 만들수있음 솔팅레이어 default 위쪽에 레이어 추가하면 밑에 무조건적으로 깔린다 MathF.RoundToInt = 반올림 LayerSetting만듬 일단은 스크립트를 따로빼뒀는데 나중에 게임매니저같은곳에 넣어서 다른 오브젝트들이 다 써도될듯하기도하고 아님 레이어 셋팅을 아예 오브젝트에 다 넣어서 사용해도 될꺼같고 LayerSetting이 내가 작물 레이어조절할떄 만든거랑 똑같음 셀포지션으로 하면될꺼같았는데 셀포지션으로 하니까 오브젝트가 겹치는일이 생기고 이상해서 바꿈 그냥 반올림써야겠음 그러네 셀은 0~1 은 1로 취급되겠구나ㅇㅋ 0.4는 0이되야..
struct와 class의 차이 C#에서는 struct를 C, C++ 호환을 위해 사용하고 단순한 값만을 저장할때는 struct가 더 효율적이다 struct 1. 값타입 2. 스택에 쌓인다 3. 상속이 불가능하다 4. 단순히 값을 저장한다 5. 메서드(함수)가 없다 class 1. 참조타입 2. 힙영역에 쌓인다 3. 상속이 가능하다 4. new연산자를 통해 객체를 생성, 할당을 해줘야 사용가능하다 5. 메서드(함수)가 있다
24.03.25 Mon ❤️ TIL [50] Today I Learned ✏️ 작업 내용 ✔️ ✔️ ✔️ 두둥 FixedUpdate()//1초에 50번 일정하게부름 델타타임이 피료가업슴 inventory.SetActive(!inventory.activeSelf); sdf머테리얼 .세개 크리에이트 뭐시기로 만들기 만든거에 원래 글꼴을 parent로 달아주기 그후로 1234이런거 복붙가능 📝 오늘의 마무리 ✏️ 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기 ✏️ TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기 ✏️ 꾸준히 기록을 남기는 습관 가지기
접근제한자의 종류와 차이 클래스 외부에서 내부로의 접근을 제한하기 위해 사용한다 public : 클래스 외부에서 클래스에 자유롭게 접근할 수 있다 private : 클래스 외부에서는 사용할 수 없고 클래스 내부에서는 접근이 가능하다 protected : 자식 클래스에서 접근할 수 있다 internal : 같은 어셈블리내에서는 접근 가능하다 protected internal : 같은 어셈블리와 다른 어셈블리의 상속받은 클래스 private protected : 같은 어셈블리와 같은 어셈블리 내의 상속받은 클래스
배열 , List, ArrayList, Dictionary 배열은 정적배열로 이름 하나에 같은 자료형 타입인 여러개의 변수를 관리하는 것 List는 배열과 같이 Data Type을 선언 한 뒤에 변수를 관리하며, 내부적으로 동적배열을 사용 ArrayList는 List와 거의 유사하게 배열의 크기가 변경되는 특징을 갖고 동작합니다. 하지만, Data Type을 선언하지 않으며, 서로 다른 타입의 값도 추가 할 수 있습니다. Dictionary는 key와 Value의 값을 세트로 다루는 배열 "연관 배열"이며, List와 다르게 Key값을 사용하여 Value 값을 얻을 수 있습니다. 어떤 데이터를 검색할 때 1의 시간복잡도를 가짐. 추가 List 제너릭 타입으로 박싱 언박싱이 필요없어 타입 안정성이 좋다. ..
박싱과 언박싱 박싱은 값 형식의 데이터를 참조형식의 데이터로 변환하는 것 언박싱은 참조 형식의 데이터를 값 형식의 데이터로 변환하는 것 하지만 참조형식을 값형식으로 바꾸는 행위 자체가 언박싱은 아니다 박싱이 있어야지만 언박싱이 존재 스택 메모리의 값을 복사하여 힙 메모리에 할당시키는 작업을 하면서 시간과 공간에 오버헤드 발생해 성능에 문제가 생길 수 있다 불필요한 변환은 하지 않아야 한다
가비지 컬렉션 메모리를 관리하는 방법 중 하나이며, 프로그래머가 동적으로 할당한 메모리 영역 중 더 이상 쓰이지 않는 영역을 주기적으로 검사하여 삭제하는 기능입니다. +세대 가비지 컬렉터 메모리를 할당 후 제대로 해제하지 않으면 메모리 누수가 일어나기 때문에 해제를 반드시 해줘야한다 C/C++에서는 직접 해제를 해줘야 하지만 C#에서는 가비지 컬렉터가 대신 해제를 해준다 런타임에 힙영역에 메모리가 계속 쌓이다가 어느 시점에서 가비지 컬렉터가 사용하지 않는 메모리 공간을 자동으로 해제하고 재할당이 가능하도록 만들어 준다 가비지 컬렉터도 또 하나의 프로세스여서 CPU와 메모리를 소모하므로 너무 자주 호출되게 하면 안된다 가비지 컬렉터 피하기 메모리 할당 최소화하기 오브젝트 풀 사용하기 가비지 컬렉션 메소드 ..
ref와 out의 차이 ref와 out은 변수를 참조 형태로 전달하는데 사용된다 ref는 기존 변수를 메서드에서 수정하려 할 때 사용한다 매개변수로 전달하기 전에 반드시 초기화를 해야하지만, 무조건 변수를 할당하지는 않아도 된다 레퍼런스로 전달해서 변수에 직접 참조한다 복사가 일어나지 않게 해서 시간과 메모리를 절약할 수 있다 out은 메서드 내에서 생성된 값을 반환할 때 사용한다 처음에 초기화하지 않아도 되지만 메서드 안에서 변수에 반드시 할당하고 사용해야한다 out이 써지면 어디선가 무조건 사용이 됐구나를 알 수 있고 가독성을 높여주고 작성해야하는 코드의 양을 줄여줄 수 있다
float과 int의 표현 가능한 수의 범위 차이 int와 float의 자료형 크기는 4Byte지만 값을 저장하는 방법이 달라서 표현 가능한 수의 범위가 다르다 int는 1bit만 부호를 표현하고 나머지 전부 수를 표현하는데 float는 1bit가 부호부, 1byte는 지수부, 나머지 23bit는 가수부로 나뉜다 가수부 - 숫자의 정수 부분 지수부 - 소수점의 위치 부분을 지수부라고 한다 부동소수점 - 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것을 말한다