제너릭
클래스나 메서드를 일반화 시켜 다양한 자료형에 대응할 수 있다.
코드를 재사용하기 좋아진다.<T>형태의 키워드를 사용한다.
out,ref
직접 값을 받아 사용한다
ref는 성능적으로는 좋으나, 많아질수록 가독성과 유지보수 측면에서 아쉬울 수 있다. 고려해서 사용해야한다.
out은 강제성을 갖고있어 사용하기전에 무조건 값이 변하는 값인지를 파악하고 잘 생각하고 사용해야한다.
인터페이스
다양한 클래스가 동일한 동작을 수행할 수 있게 해주는 역할을해 코드의 재사용성을 높여주며 상속받은 클래스는 인터페이스를 자유롭게 구현하면되므로, 유연하게 확장가능성을 고려할 수 있다.
다중상속을 지원하며, 상속받을 경우 인터페이스 멤버를 구현해야한다.
열거형
아래와 같이 정의되며 위에서부터아래 순서로 기본값은 012이다
던전에 =1을 붙혀주면 순서대로123 이 되는것이다.
(int)던전 이런식으로 사용하게되면 1의값이 나오는것이다
가독성이 좋고, 스위치문과 호환성이 좋아 자주사용된다.enum MyEnum { 던전, 마을, 상점 }
델리게이트
메서드참조형 타입이고, 메서드를 매개변수로 전달하거나, 할당할 수 있다.
람다,LINQ
람다
메서드의 이름없이 메서드를 만들수 있으며, 델리게이트를 사용하여 변수에 할당하거나, 메서드의 매개변수로 전달할 수 있다.
LINQ
.NET프레임워크에서 제공되는 쿼리언어확장으로LINQ는 객체, 데이터베이스, XML문서 등 다양한 데이터소스를 지원하고 데이터베이스 쿼리와 유사한 방식으로 데이터를 필터링,정렬,그룹화,조인 등 다양하게 사용 할 수 있다.
구조var LINQ명 = from 변수 in 데이터소스 [where 조건식] [orderby 정렬식 [, 정렬식...]] [select 식];
내일 학습계획
알고리즘 개념과 종류
지금은 무능해도 쌓이면바뀌겠지