using System; // namespace system을 사용하는 것
using System.Collections.Generic; //제네릭 컬렉션을 정의하는 클래스와 인터페이스들이 들어있음 (system.collections.generic 자료형<key,value> 열거형에 사용)
using System.Linq; //Linq를 사용하는 쿼리를 지원하는 클래스, 인터페이스가 들어있음
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4 //구조체, 클래스, 델리게이트, 인터페이스등을 그룹화 한 것
{ //namespace는 사용하기 편리하게끔 성격이 비슷한 것들을 묶어 놓는것과 같다.
class Program //class는 필드(field)와 메소드(method)로 나뉘게 된다. 필드는 정적인 상태, 메소드는 동적인 기능을 표현.
{
static void Main(string[] args) //static void Main - 메소드. main 메소드 -> 최초의 진입점
//모든 프로그램에는 메소드가 존재해야하며, 메인 메소드가 시작되면 프로그램이 시작되고, 종료되면 프로그램도 같이 종료된다.
{ //void는 반환 형식으로 반환 값이 없음을 의미.
//메소드는 C언어 함수(Function)와 같다.
Console.Write("Hello World");
}
}
}
구조체
구조체(structure type)란 사용자가 C언어의 기본타입을 가지고 새롭게 정의할 수 있는 사용자 정의 타입이다. 구조체는 기본타입으로는 나타낼 수 없는 복잡한 데이터를 표현 할 수 있다.
struct 구조체이름
//키워드 구조체이름
{
멤버변수1의타입 멤버변수1의이름;
멤버변수2의타입 멤버변수2의이름;
...
};
struct book
{
char title[30];
char author[30];
int price;
}; <- 세미콜론은 구조체 정의를 종료한다는 의미.
struct라는 키워드를 사용하여 구조체 시작을 알리고, 구조체 이름인 book으로 구조체를 정의,
중괄호 사이에 char title[30]; char author[30]; int price; 와 같은 변수들은 book의 멤버 변수들이다.
LINQ?
LINQ 쿼리에서는 항상 개체를 사용한다. XML 문서, SQL데이터 베이스, ADO.NET 데이터세트,
.NET 컬렉션 및 LINQ 공급자를 사용할 수 있는 다른 모든 형식에서 데이터를 쿼리하고 변환하는데 동일한 기본 코딩 패턴을 사용한다.
쿼리의 작업
1. 데이터소스 가져오기 2. 쿼리 만들기 3. 쿼리 실행하기
필드와 메소드
class Cat{
/*fields*/
String name; //이름
String species; //고양이종
double size; //크기
duble weight; //몸무게
/*methods*/
void meow(){
//야옹
}
void scratch(){
//햘퀴기
}
}
필드 : 객체의 정보(상태)
메소드 : 객체의 동작(기능)이다.