.NET FRAMEWORK 123

#026_닷넷(.NET)_.Net Framework 기본 - 접근 한정자

안녕하세요 삽잡이입니다. 이번 시간에는 C#에서 제공하는 '접근 한정자'에 대해서 알아보려고합니다. C#의 접근 한정자는 5가지입니다. 새로운 이 'internal', 'protected internal' 접근 한정자는 '어셈블리' 개념을 포함하고 있습니다. 어셈블리는 지금 상태에서는 쉽게 '.exe', '.dll' 을 의미한다고 보시면 됩니다.이 어셈블리는 논리적인 개념입니다.왜냐하면, '모듈'이라는 여러 파일들이 모여 하나의 어셈블리로 모일 수 있기 때문입니다.그리고 이를 다중 어셈블리라고 부르고요... 아무튼... .exe 파일 하나를 어셈블리라고 불러보도록 하겠습니다.internal은 이 '어셈블리 내'에서 라는 의미를 가지고 있습니다.protected는 '상속 구조 내'에서라는 의미를 가지고 있..

#025_닷넷(.NET)_.Net Framework 기본 - 여러가지 문법 (2)

안녕하세요 삽잡이입니다. 이번시간에도 저번시간과 같이 C#에서 제공하는 여러 문법들을 알아보려고합니다. 객체지향 언어의 요소는 크게 ''속성'과 '기능' 이 두가지로 나눌 수 있습니다. C#에서는 필드, 이벤트, 속성이라는 용어를 '속성' 이라고 부릅니다.멤버 메서드, 연산자 중복등을 '기능'이라고 부르지요...즉, 원래 객체지향이란 두개로 나눌 수 있는데 이를 더 세분화를 하는 것입니다. 속성은 원래 기능이지만, 속성처럼 사용합니다.그리고 이벤트도 내부적으로 만들어진 정의 형식인데, 속성처럼 사용합니다... -this 키워드 this 키워드는 두가지 용도로 사용됩니다. 우선 첫번째 용도는 '자기 자신 참조'입니다. 이처럼 필드와 매개변수의 이름이 같다면 어떻게 될까요?이렇게 데이터 필드와 매개변수가 동..

#022_닷넷(.NET)_.Net Framework 기본 - 참조 타입과 값 타입에 대하여

안녕하세요 삽잡이입니다. 이번시간에는 구조체, 클래스, 참조 타입, 값타입에 대한사용, 활용, 비교에 대해서 알아보고자 합니다. 이전 시간에 우리가 이 참조 타입과 값 타입을 비교하며 '복사'를 했을 때에 대한 메모리를 그려본 기억이 있습니다. 그런데... 매개 변수로 각 타입을 넘길 때도 다를 것이 없습니다. 물론, 차이가 있다면매개변수는 그 해당 함수가 끝나면 사라진다는 것이지요... 여담으로 만약, 함수로 전달 되는 매개변수의 크기가 크고 무겁다면(?)참조 타입을 사용하는 것이 프로그램을 위해 좋겠지요... 객체를 반환하는 메서드를 일반적으로 우리는 '펙토리 메서드'라고 부릅니다.Struct나 Class나 모두 객체를 반환할 수 있습니다.그렇다면 만약, 펙토리 메서드와 같이 메서드를 통해 객체를 생..

#021_닷넷(.NET)_.Net Framework 기본 - C# Property

안녕하세요 삽잡이입니다. 이번 시간에는 C#에서 제공해주는 Property에 대해서 알아보도록 하겠습니다. C#에서는 Property라는 '속성' 기능을 제공해줍니다.이 속성은 Getter, Setter의 축약적 메서드입니다. Property는 이렇게 만들 수 있습니다. int X, int Y...즉, 이 property를 구조체, 클래스의 속성이라고 부릅니다.이 속성을 가지고 무엇을 할 수 있느냐... 이 놈은 메서드도, 필드도 아닙니다.컴파일러가 내부적으로 GetX(), SetY() 와 같은 메서드를 만들어주지요...GetX()는 x 필드값을 반환, SetX() 메서드는 클라이언트로 부터 받아온 값을 필드 x에 저장을 시켜줍니다.이 속성으로부터 만들어진 Getter, Setter의 타입은 필드의 타입..

#020_닷넷(.NET)_.Net Framework 기본 - 실제 참조 타입 과 값 타입

안녕하세요 삽잡이입니다. 이번 시간에는 실제로 값 타입과, 참조 타입이 뭔지 알아가도록 해보겠습니다...지난 시간에 복습하느라 못했습니다... 사실 실제 값 타입, 참조 타입은 'Class'와 'Struct' 이 두가지만 알면 됩니다...클래스와 구조체를 통해 값 타입과 참조 타입을 명확하게 구분할 수 있기 때문입니다.왜냐? 클래스는 참조의 대표, 구조체는 값의 대표이니깐 말입니다. 우선 둘의 특징에 대해서 알아보고 가도록 하겠습니다. 우선 Class는 부모가 Value 타입이 아닌 이상모든 부모로부터 모든 타입을 상속받을 수 있습니다.또한 파생시킬 수 있습니다. 즉, 자식 클래스를 만들 수 있다 이겁니다. 하지만, Struct는 상속이 자체가 불가능합니다.또한 상속을 받을 수도, 상속을 시켜줄 수도 없..

#019_닷넷(.NET)_.Net Framework 기본 - 참조 타입 과 값 타입의 의미

지난 시간에 이어서 타입에 대해서...즉, '참조 타입이냐, 값 타입이냐'에 대해서 알아보도록 하겠습니다. 지난 시간을 다시 곱씹어봅시다.인터페이스를 제외한 나머지를 모두 하나의 타입이라고 생각하면 됩니다.그런데 여기서 두 가지의 분류로 나눌 수가 있지요.하나는 '값처럼 동작하는' 것,다른 하나는 '값 처럼 동작하지 않는' 그 외... 즉, '참조로 동작하는' 것으로 나눌 수 있습니다. Java는 내장 타입(int, float, double)과 같은 타입은 값 타입이 아닌 참조 타입입니다.그래서 다른 타입들과 놀려면 변환 및 매핑을 해줘야되서 불편합니다.C#은 Java를 등에 엎고(?) 나온 언어로써,이러한 불편함을 느끼고 프로그램하기 보다 쉽게 만들어놓기 위해서 분류하여 나온 것입니다.아무튼... 값 ..

#018_닷넷(.NET)_.Net Framework 기본 - Type에 대한 내용

안녕하세요 삽잡이입니다. 이번시간에는 닷넷에서 제공하는 타입들에 대해서 알아보는 시간을 가지려고합니다.오늘도 어김없이 힘들기 때문에...아... 토요일 아침은 늘 힘들군요...했던말을 또 할 수 있으니 양해바랍니다... 닷넷에는 다섯가지의 타입이 있다고 했습니다. Interface, Class, Struct, Enum, Delegate 이렇게... 다섯가지가 있지요... 참고로 C#에서는 C++과 다르게 클래스와 구조체는 전혀 다른 타입입니다. C++에서는 기본적인 가시성만 맞더라도 같은 취급을 했었습니다. 아무튼... 그런데 또 이 다섯가지를 같은 범주끼리 묶을 수가 있습니다. Class, Delegate를 묶어서 Class 형식, Struct, Enum을 묶어서 Struct 형식으로 말입니다. 뭐....

#017_닷넷(.NET)_.Net Framework 기본 - 다차원 배열(사각, 가변)

안녕하세요 삽잡이입니다. 이번 시간에는 다차원 배열에 대해서 알아보려고합니다. 다차원 배열에는 '사각 배열'과 '가변 배열'이 있습니다. 즉, 이전 시간에 인덱스 '하나'를 가지고 놀던 배열은 1차원 배열이라 부르는데, 이번 시간부터는 인덱스 '두 개 이상'을 가지고 노는 배열에 대해서 알아본다는 것입니다. 우선 사각 배열은 C/C++에서 우리가 알던 다차원 배열을 말하는 것입니다. 그런데 '가변 배열'은 C/C++에서 제공하지 않았지요... 따라서 가변 배열은 C/C++에서 따로 사용자가 직접 만들어서 썼었습니다. 아무튼... 사각배열부터 알아보도록 하겠습니다. 사각 배열은 배열은 배열인데 '두 개 이상'의 인덱스를 갖는 배열을 말합니다. 어떻게 접근할 수 있느냐... 이와 같이 접근할 수 있습니다....

#016_닷넷(.NET)_.Net Framework 기본 - 일차원 배열

안녕하세요 삽잡이입니다. 이번 시간에는 배열에 대해서 알아보려고 합니다.물론, 지난 시간에 올린 기억이 있으나 다시한번 기분좋게! 달려보도록 하겠습니다. 아래 코드 한 줄은 배열에 대한 예제입니다. int[] arr = { 10, 20, 30, 40, 50 }; 해당 배열은 여러 방법으로 쓸 수 있습니다. 사실 'arr1', 'arr2', 'arr3' 처럼 쓸 수 있습니다.int형 다섯개 짜리가 생략 되있음을 간략하게 사용한 것이지요...즉, 동적으로 배열 5개짜리를 만드는 것이 저 코드의 내용입니다. 초기 값이 있다면 두번째 코드와 같이 숫자를 생략할 수 있습니다.어차피 초기값을 보고 결정하기 때문이지요... 그리고 배열은 개수가 고정되어있기 때문에 앞을 생략하여 마지막 코드처럼 만들 수 있습니다.마지..

#015_닷넷(.NET)_.Net Framework 기본 - 매개변수 한정자

안녕하세요 삽잡이입니다. 지금부터 매개변수 한정자에 대해서 알아보도록 하겠습니다. 매개변수에는 크게 두 가지가 있습니다.바로, '입력 매개변수'와 '출력 매개변수'입니다. 입력 매개변수는 'Client 쪽에서 Server 쪽으로 값을 읽기 위한 목적'의 매개변수입니다.따라서 '인 파라메터'라고 부릅니다.그리고 'Server 쪽에서 Client 쪽으로 값을 보내기 위한 목적'의 매개변수를'아웃 파라메터'라고 부릅니다. C#에서는 출력 매개변수를 다시 두 개로 더 쪼갭니다.하나는 위에서 언급한 '아웃 파라메터'이고,또 다른 하나는 '읽고 쓰는 목적'의 파라메터인, 'ref 파라메터'입니다. 일반적으로 읽고 쓰는 것도 '쓰는 것'으로 취급하고쓰는 것도 '쓰는 것'이니 out 파라메터로 분류를 했었는데C#에서는..