클래스5 2024.05.03 TIL - 클래스 명시적 형변환, 포인터 public void CheckQuestCompletion(Character character, Quest quest){ // 코드 생략 ((ManaPotionQuest)quest).ClearMonsterCount(); // 코드 생략}Quest 클래스가 베이스고, 자식 클래스가 여러개 있었다.그래서 Quest 클래스형으로 불러오게 됐는데, 자식 클래스인 ManaPotionQuest에 있는 메소드를 불러오고 싶었다.`quest`를 명시적 형변환으로해서 불러올 수 있을 것 같아서 해봤다. 처음에는 `(ManaPotionQuest)quest.ClearMonsterCount()` 으로 해봤는데 안됐다.그런데 `((ManaPotionQuest)quest)` 이렇게 한 번 더 감싸니까 성공했다. 이걸보고 C언어.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 3. 2024.05.02 TIL - 추상화 클래스(abstract), 인터페이스(interface), 상속, static, 싱글톤 public abstract class Scene { public abstract void loadScene(UI ui, Character character); }원래는 `Scene` 베이스 클래스를 `추상화 클래스(abstract)`로 선언했었다. 이후 씬 이동을 구현할 때 각 씬 클래스들을 불러오기 위해 `static` 선언이 필요했다.하지만 추상화 클래스는 static 선언을 할 수 없다!... public class SceneManager { //싱글톤 생성 public static SceneManager Instance; public Scene _introScene; public Scene _startScene.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 2. 2024.05.01 TIL - 클래스 분리의 중요성 클래스 분리개발을 하다보면 점점 클래스가 늘어나게 되는데, 지금은 소규모 프로젝트인데도 저렇게 많은 클래스들이 있다.namespace TextRpg_MonsterHunting{ public class Character public class Warrior : Character public class Wizard : Character public class Archer : Character}기존에는 위의 코드처럼 클래스 하나에 부모 클래스와 자식 클래스를 뒀었다.그런데 점점 늘어나는 코드길이때문에 클래스 파일을 분리시켰다. Scene 폴더를 만들고, Scene 부모 클래스와 자식 클래스들을 나눠서 폴더 안에 넣었다.폴더를 펼치고 닫았을 때 목록의 길이가 확 줄은 것을 볼 수 있다. .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 1. 2024.04.24 TIL - Item 클래스의 상속, 인터페이스, 다중 상속 Item 을 인터페이스로 만들었을 때 문제점// 아이템을 사용할 수 있는 인터페이스public interface IUsable{ void Use();}// 아이템 클래스public class Item : IUsable{ public string Name { get; set; } public void Use() { Console.WriteLine("아이템 {0}을 사용했습니다.", Name); }}강의에서 위와 같이 아이템을 인터페이스로 사용하는 예시를 보고 개인 프로젝트에도 적용해봤다. 그런데 점점 거대해져가는 클래스..!(눈갱 주의) ▼더보기// 아이템 인터페이스 public class IItem { .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 4. 24. [C#] 스코프 스크립트에서 어디서 어디까지가 내가 실행하고 담당해야하는 범위인지 정하는 기준입니다. { } ← 중괄호를 기준으로 영역을 정합니다. 스코프 기본 영역 ⭐⭐중괄호는 무조건!!! 한쌍으로 있어야 합니다.**⭐⭐ 클래스안에서... - 접근 제한자 O 함수 만들기 변수 만들기 변수를 만드는 동시에 초기화 O 변수를 만든 이후 초기화 X 로직 작성 X 상세 설명 변수 만들기 변수 선언시 초기화 O 변수 선언 후 초기화 X 로직 작성 X 함수 작성 O 접근 제한자 설정 O 함수 안에서... - 접근 제한자 X 변수 만들기 로직 작성 if문, for문, 디버그, 계산 등등 거의 모든 작업이 이루어집니다. 함수 만들기 X - 가능하긴한데 하지 마세요 상세 설명 변수 사용 로직 작성 함수 만들기 - 하지마세요!!!! 변.. C#/클래스와 객체 2024. 3. 27. 이전 1 다음 반응형