2024/09 27

[내배캠][Unity6기][TIL] C# Generic Collection과 C++ STL 비교

C#의 Generic Collection 과 C++의 STLC#의 Generic Collection C++의 STL(Array)ListvectorLinkedListlistDictionarymapHashSetunordered_set List와 LinkedList 비교List동적 배열크기 가변적, 임의 접근 가능중간 삽입 삭제 비교적 오버헤드 큼크기 확장 시 발생하는 오버헤드 방지 위해 capacity 사용 권장LinkedList노드가 연결된 자료구조크기 가변적, 임의 접근 불가중간 삽입 삭제 비교적 오버헤드 작음순차 접근은 foreach나 iterator 사용활용 상황어느 정도 미리 크기를 짐작할 수 있다임의 접근이 필요하다중간 삽입 삭제가 빈번하지 않다⇒ List 임의 접근이 불필요하다중간 삽입 삭제가 ..

[내배캠][Unity6기][TIL] TextRPG 개인 과제 / C# 체크리스트

과제 제출이 얼마 남지 않았다...아직 손볼 부분이 좀더 있어서 일단 Github에 올리고 변경사항을 merge하는 방식으로 작업중이다.코드를 작성하면서도 끊임없이 이게 맞는지, 최선인지 의심하게된다.우선은 테스트하면서 안되는 부분은 없어 다행인데 유지보수와 확장성을 생각하니 머리가 아프다..완성되고 받을 튜터님의 사정없는 피드백이 기대된다!그리고 다른 사람들은 어떻게 구현했는지 튜터님들이 생각하시는 이상적인 답안은 무엇인지 정말 궁금하다!09.23 C# 체크리스트주제 : 조건문(김현정 튜터님)- 조건문 기본기를 다지는 유익한 강의였다! 예제도 재미있었다~09.24 C# 체크리스트주제 : 반복문(이성언 튜터님)- dowhile문 난수 생성에 활용하면 좋음, 일단 한번 난수 생성하고 조건에 맞으면 탈출 아..

[내배캠][Unity6기][TIL] C# 문법 종합 강의 4주차(1~2)

Preview- C#에서의 상속 - 인터페이스와 추상클래스 - 예외 (Exception) -- 시스템 예외 -- 사용자 정의 예외 - 값형(Value Type) 과 참조형(Reference Type)C#에서의 상속- 클래스 다중 상속 지원 X-- 클래스 다중 상속으로 발생하는 모호성 문제 예방하고 설계의 단순성 유지 - 인터페이스 다중 상속 지원 O-- 설계의 유연성을 높이고 코드 재사용성 향상인터페이스와 추상클래스[ 인터페이스와 추상클래스 비교 ]인터페이스(Interface)추상클래스(Abstract Class)클래스가 아님클래스임 (단, 인스턴스화 불가)다중 상속 O다중 상속 X상속 받는 클래스에서 구현 필수(구현부와 제시부가 분리된 형태)상속 받는 클래스에서 선택적으로 구현(구현부와 제시부 결합 o..

[내배캠][Unity_6기][WIL] 9월 3주차

학습한 내용- C# 문법 학습좋았던 점- C#의 주요 문법을 학습- 다양한 예제와 설명으로 C# 문법에 익숙해짐아쉬웠던 점- 이번주 내에 4주차까지 내용 소화 못함- 개인 과제 시작도 못함...- 아직 c++ 문법이랑 혼동하는 부분 있음ToDo(다음주까지)- 4주차까지 강의 수강 후 내용 정리- 개인 과제 필수 구현까지는 반드시 완료하기- 시간 되면 추가 구현과 퀘스트까지 풀어보기

[내배캠][Unity6기][TIL] C# 문법 종합 강의 3주차

Preview- 구조체와 클래스 - 소멸자 (Destructor) - 프로퍼티 (Property) - 오버라이딩 (Overriding) 과 오버로딩(Overloading) - 가상메서드 (Virtual Method)구조체와 클래스 구조체클래스형식값참조메모리 영역스택힙상속 여부상속 불가상속 가능소멸자 (Destructor)- 객체가 소멸되는 시점에 자동으로 호출되는 특별한 메서드- C#에서는 가비지 컬렉터가 자동으로 관리하므로 유저의 명시적 소멸자 호출 지양- 호출 주체가 사용자가 아니므로 오버로딩 불가능프로퍼티 (Property)- 클래스의 멤버로, 필드와 메서드의 조합- get(값을 반환), set(값을 설정) 접근자로 필드에 간접적으로 접근- 코드 안정성과 가독성 향상 [ 접근 제한자 적용 & 유효성..

[내배캠][Unity6기][TIL] C# 문법 종합 강의 2주차 / C# 체크리스트

Preview- 문자 1개 입력받기 -- ReadLine() -- ReadKey() - C# 체크리스트 -- Mathf.Approximately() -- 디폴트 매개변수 문자 1개 입력받기ReadLine()- 원래 한 줄의 문자열을 입력받는 함수- 문자열의 첫번째 인덱스만 받으면 가장 처음 입력한 문자만 입력됨ReadKey()- 사용자가 입력한 키의 정보를 ConsoleKeyInfo로 반환char input1 = Console.ReadLine()[0];ConsoleKeyInfo input2 = Console.ReadKey();Console.WriteLine(input1);Console.WriteLine(input2.KeyChar);[ 입력 ]abcd[ 출력 ]ad                       ..

[내배캠][Unity6기][TIL] C# 문법 종합 강의 1주차

※ 앞서 작성한 내용과 중복되거나 이미 잘 알고있는 내용은 제외,새롭게 알게 되었거나 중요하고 익숙하지 않은 것들 위주로 작성되었습니다.Preview- 전역 using 설정 - IntelliSense 재호출 - char는 2byte - 리터럴 - 한번에 여러 개의 변수 초기화 - 암시적 형변환 - 한줄에 여러 값 입력받기 - 연산자 우선 순위 이해하기 - 문자열 처리 기능 및 메서드 -- 문자열 생성 -- 문자열 대소 비교전역 using 설정- 자주 사용하는 namespace를 모아 미리 프로젝트에 포함시키는 설정- [ 프로젝트 ] > [ 속성 ] 으로 들어가서 설정 가능IntelliSense 재호출Ctrl + Space- 코드를 작성하다 오타나 백스페이스로 인해 IntelliSense가 꺼졌을 경우 다..

[내배캠][Unity6기][TIL] 카드 뒤집기 설명회와 금주 회고

카드 뒤집기 설명 라이브 세션- 다른 사람에게 설명할 때는 효과적인 전달 위해 레퍼런스 응용하기 - 레퍼런스를 통해 기능을 리스트업 하고 우선순위를 정하기 (기준 : 유저와의 상호작용 가장 많이 되는 부분) - 게임 시스템 \ 유저 플레이로 기능 구분 - 인스펙터에서도 연산이 가능! 위치 잡을 때 실행하고 직접 필드에 연산값 넣어서 맞춰보기 - 스크립트에서 컨트롤 누르고 클릭하면 해당 문서로 이동 - C# 한정 Copilot에 물어보는 것 OKGit 학습하기튜터님께서 추천해주시고 Docs에도 소개된 Git 교육 페이지!https://learngitbranching.js.org/?locale=ko* 그외 수강바구니에 담아만 두었던.. 지옥에서 온 Git 강의도 열심히 듣기!TODO1. 팀플 발표회 녹화본 ..

[내배캠][Unity6기][TIL] 5. Unity 주변 기능 학습(4~5)

Preview- Build Setting 문제 해결- Resolving Android Dependency 문제 해결* 튜터님과의 면담- 오늘 포스팅은 문제 해결 방법 위주로 작성되었습니다.Build Setting 문제 해결- 문제 상황 : [ Preferences ] - [ External Tools ] - [ Android ] 에서 NDK만 인식 불가- 시도한 방법들:1) Unity Hub에서 2022.3.17f1 에디터를 삭제하고 재설치 => 실패!2) NDK 파일 경로 환경 변수 재설정 => 실패!3) Android Build Supporter.exe 로 재설치 => 실패! (NDK만 인식 안됐었는데 이거 시도하고 JDK, SDK, NDK, gradle 다 인식 못하는 문제 발생!)4) 버전에 맞는..

[내배캠][Unity6기][TIL] 5. Unity 주변 기능 학습(1~3)

Preview- 여러 개의 이미지 반복해서 교체하는 애니메이션 만들기 - 스플래시 이미지 - AudioSource - 특정 조건에서 사운드 한번 재생하기 -- PlayOneShot() - BGM 재생하기 -- Play()여러 개의 이미지 반복해서 교체하는 애니메이션 만들기1. 반복할 이미지 오브젝트 생성(Create - UI - Image)2. 애니메이션 만들고 오브젝트에 붙이기3. 애니메이션 창에 반복할 이미지 전체를 한번에 끌어오기(ex) img01~img074. 오른쪽의 파란 바를 끌어서 적당한 시간으로 맞추기* 바를 오른쪽으로 끌어 시간 간격이 넓을수록 이미지 느리게 변경* Keyframe(다이아몬드) 모두 선택하여 한번에 범위 조절하기스플래시 이미지- 스플래시 이미지 : 앱을 켰을 때 가장 처음..