본문 바로가기
728x90

프로그래밍 6

as, is 연산자 as 와 is 연산자는 무엇일까? 간단하게 말하자면 형변환과 관련되어 있다. 1. as 오류를 발생시키지 않고 형변환이 가능한지 확인할 수 있다. 형변환이 된다고 하면, 해당 인스턴스를 반환하고 불가능하면 null 을 반환한다. Unit unit = new Unit(); Warrior warrior = unit as Warrior; // 형변환이 가능하면 warrior는 Warrior 인스턴스를 가지고, 불가능하면 null을 가진다. 단, 참조 형식끼리만 사용가능하다. (int 같은 값 형식과는 사용이 안됨.) 2. is as가 형변환하고 인스턴스 또는 null을 반환하는 반면, is는 bool형의 true/false를 반환한다. 또, 다른 특징은 as와는 달리 값 형식에서도 사용할 수 있다. 둘을 사용.. 2020. 7. 21.
List - 리스트 Java에서는 List가 인터페이스다. 그래서 실제로 사용하려면 ArrayList나 LinkedList 등을 사용했다. 하지만 C#에서는 List가 클래스다. 물론 IList라는 인터페이스도 존재한다. 여튼 List를 Java의 ArrayList나 LinkedList 처럼 사용하면 되겠다. ★ C#에서 맨 앞에 I가 붙으면 인터페이스를 뜻한다는 것을 참고하자. 본인이 인터페이스를 만들 때도 I를 붙여서 구분되기 쉽게 하는 게 좋겠다. ★ 그럼 List를 생성하는 것부터 주로 쓰는 함수를 알아보자. 1. 생성 List list = new List(); //T는 제네릭이다. 제네릭에 대한 공부는 따로 해오자. List myList = new List(){1, 2, 3}; //myList는 1, 2, 3을 가.. 2020. 7. 14.
Delegate - 델리게이트 1. Delegate란 무엇인가? (이하 델리게이트) 처음 델리게이트를 접했을 땐, 왜 쓰는지도 잘 이해가 안 됐고 단어 자체도 낯설었다. 그럼 그 사용을 한번 알아가보자. 사전에는 어떤 사람이나 그룹을 대신하는 사람이라고 한다. 쉽게 말해 대리인. 대표. 단어 뜻에서 접근하면, 델리게이트란 어떤 것을 대리해주는 느낌이다. 그렇다. 결론부터 말하자면, 델리게이트란 C#에서 메소드를 대신해서 호출한다. (메소드의 대리) 이게 무슨 말인가? 델리게이트가 없으면 메소드를 직접 호출해서 사용하지만, 델리게이트를 사용하면 메소드를 델리게이트를 호출하면서 사용할 수 있다. 역시 설명은 어렵고 예제를 보자. 2. 델리게이트 사용방법 ① 호출할 메소드와 같은 타입의 델리게이트를 먼저 선언해야한다. ② 델리게이트를 선언.. 2020. 7. 11.
Property - 프로퍼티 기존에 Java로 공부를 하다가 C#을 봤는데 매우 흥미로운 기능이 있어서 소개해볼까 한다. 제목에 쓴 property라는 것이다. 프로퍼티란 C#에서 쓰는 메소드인데 쉽게 말하자면, getter와 setter를 가진 변수? 라고 할 수 있겠다. 이것도 어렵다. 그러니까 프로퍼티는 멤버변수(속성) + getter/setter 이다. 흥미를 느낀 이유는 프로퍼티를 사용하면 코드가 매우 간결해진다. 아래 예제를 보여주겠다. 먼저, Person이라는 클래스를 자바로 표현해봤다. 물론, 에디터에서 getter/setter를 간소화해서 보여주는 기능도 있고 자동 생성해주는 기능도 있으나, 뭔가 길다. public class JavaPerson { private int personId; private string .. 2020. 7. 9.
안드로이드앱 - Near Buy [작품소개] (Introduction) 이 프로젝트는 당근마켓을 카피코딩한 안드로이드 앱이다. 중고나라의 가장 큰 문제라고 할 수 있는 허위매물, 사기 등을 방지하기 위해 직거래를 성사시켜주는 아이디어가 굉장히 감명깊어서 따라 만들어봤다. This project is a Android App copying 당근마켓. The idea that makes direct selling between indivisuals to prevent scam was very impressive, so I made this. [주요기능] (Main functions) 물품 게시/조회/수정/삭제 (Create/Read/Update/Delete post.) 복수 사진 추가 (Adding multi images) 위치 기반 물품.. 2020. 6. 8.
자바 프로젝트 - 쌈국지 [ 작품 소개 ] 삼국지를 배경으로 한 게임입니다. 유비를 주인공으로 원소, 조조, 동탁, 손견, 유언 등을 처치하여 통일을 하는 것이 미션입니다. 시대적 배경에 따라 184년부터 시작하며, 280년이 되기 전까지 미션을 성공해야합니다. [ 주요 기능 ] 1. 전쟁 - 상대를 선택할 수 있고, 5:5 턴제로 진행됩니다. 책사가 군사로 임명되어 있다면 책략을 통해 적에게 피해를 줄 수 있습니다. 무장은 일반공격과 스킬을 사용할 수 있습니다. 전쟁에서 승리하면 금, 명성, 무장 레벨업 등을 얻을 수 있습니다. 2. 수색 - 미니게임 형식으로 진행되며, 랜덤으로 도적떼 또는 백성들을 만날 수 있습니다. 도적떼를 만나면 소탕을 통해 금을 획득합니다. 백성들을 만나면 식량을 베풀어 백성들 중 일부가 병사로 지원합.. 2020. 5. 28.
728x90