분류 전체보기(166)
-
21.12.30 부대 관리 & 드랍쉽
업캐스팅, 다운캐스팅이 뭐지? OOP의 캡슐화를 위해 다른 클래스의 멤버에 직접 접근해서 값을 가져오는 방식은 적절치 않다. 함수를 통해 내부적으로 작동해서 반환하도록 하는 게 바람직하다. enum은 클래스 바깥에서 선언해야 한다. 확장성을 늘리려면 상속 계층을 더 추가해보자. 이하 수업내용 ------------------------------------------ 1. enum을 통해 마린과 저글링을 분류할 수 있도록 실습했다. 2. 드랍쉽 구현을 실습했다. -> 유닛을 드랍쉽에 적재하는 Load 메서드와 적재한 모든 유닛을 현재 위치에 재배치하는 UnloadAll 메서드를 구현 -> 유닛이 드랍쉽에 탑승 중일 땐, 유닛의 개별적인 이동을 유닛의 bool 변수로 제어했음. -> 유닛이 드랍쉽에 탑승 ..
2021.12.30 -
21.12.29 아이템 & 인벤토리
null 그 자체는 오류를 발생시키지 않더라도 null에 접근하려는 것(ex. 점연산자) 때문에 오류가 발생한다. 컬렉션의 대부분은 IEnumerable 을 사용하기 때문에 foreach를 사용할 수 있다. 이하 수업내용----------------------------- 1. 아이템 객체 만들고 메인함수에서 아이템 이름 출력하기. 2. 아이템 배열에 아이템 객체 넣어서 반복문으로 출력하기. using System; using System.Collections.Generic; using System.Text; namespace helloworldConsoleApp1 { class Item { public string itemName; public Item(string name) { this.itemNam..
2021.12.30 -
21.12.28 벌쳐 vs 질럿
Vulture 클래스를 만들 때 기존 작성해둔 Unit 클래스를 상속시켜 팩토리 패턴으로 인스턴스를 만드려다가 새로 안 게 있다. 부모클래스의 가상함수는 파생클래스의 인스턴스에서 호출이 가능한 반면, 파생클래스의 일반 함수는 그렇지 않은 것 같다. 그러니까 Unit 클래스에서 정의한 가상함수만 사용할 수 있다는 건데 그렇다면 파생클래스만의 독단적인 함수를 쓰려면 어떻게 해야하는가? => 인스턴스를 담는 변수의 타입을 부모클래스로 하지 않고 파생클래스로 하면 되는 듯. 부모를 상속해서 부모의 가상함수와 override를 통해 코드를 재사용하고 싶고 부모가 선언한 가상함수 이외에도 자식만의 특징적인 기능이나 함수를 더 추가하고 싶다면 인스턴스를 담는 변수의 타입을 부모클래스로 하지 않고 파생클래스로 하면 되..
2021.12.29 -
21.12.27 마린 vs 저글링
생성자 옆에 : base(name)을 통해 부모클래스의 생성자를 명시적으로 호출한다. 퍼블릭 프라퍼티의 set 옵션을 private으로 설정했다. 가상함수를 override해주었다.
2021.12.28