닷넷 프레임워크 125

#027_닷넷(.NET)_.Net Framework 기본 - Getter/Setter (속성) & 생성자

안녕하세요 삽잡이입니다. 이번 시간에는 이전 시간에도 두어번 언급한 Setter/Getter에 대해서그리고 생성자에 대해서 알아보겠습니다. 모든 필드는 private 형식으로 만들어져있습니다.즉, 외붸서 마음대로 접근하지 못하게 하려는 의도입니다.많이 알면 많이 알 수록 서로 힘들지요...그래서 조금만 알자고 '캡슐화'전략을 쓰는 것입니다. 그런데 필드 값을 업데이트, 참조를 하기 위해서는 C#에서는 property 즉, 필드를 읽을 Getter/Setter를 사용합니다. Getter와 Setter는 인터페이스입니다.객체는 클래스가 됬건 객체가 됬건 두 가지 내용물로 이루어져있지요...늘 반복해서 말씀하지만 '속성'과 '메서드'입니다. 속성은 상태, 메서드는 기능을 나타내지요...속성과 메서드는 객체의 ..

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

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

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

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

#024_닷넷(.NET)_.Net Framework 기본 - C# 여러가지 문법 (1)

안녕하세요 삽잡이입니다. 이번시간에는 C#에서 제공하는 여러 문법들을 알아보고자합니다. - finalize()finalize()는 C#에서 '소멸자'를 의미합니다.닷넷에서는 이미 객체를 마무리하기 위해 만들어 놓은 메서드가 있는데이 메서드가 바로 'finalize()'라는 것입니다.왜 소멸자를 안만들었을까요?소멸자를 가지지 않은 언어들이 있을 수 있으니 안만든 것입니다.소멸자가 없는 언어들은 닷넷에서는 finalize() 메서드를 direct로 집어넣습니다. -nullabenullable 타입은 'NULL'이 가능한 타입을 말합니다.즉, nullable 타입은 값 타입.. 그 중에서도 내장 타입에 존재합니다.int?, double? 과 같이 물음표(?)를 붙여서 사용합니다. NULL을 가질 수 있는 타입..

#023_닷넷(.NET)_.Net Framework 기본 - ToString() 오버라이드

안녕하세요 삽잡이입니다. 이번 시간에는 간단하게 짬을 내어 재미있는 오버라이드에 대해서 알아보려고합니다. 우선 이 예제 코드를 실행하면 어떻게 될까요? 뭐가 출력이 될까요~? 일반적으로 객체를 출력을 하면 문자열로 '타입의 이름'이 반환됩니다.왜냐하면, 모든 타입의 부모인 Object의 ToString() 메서드를 호출하기 때문입니다. 따라서 객체의 이름을 출력했을 때,다른 결과를 얻고싶다면, 자식 클래스에서 재정의를 해줘야합니다.즉, 오버라이드를 해줘야한다는 것입니다. 이렇게 오버라이드를 시켜줬을 때 결과 화면을 살펴보도록 하겠습니다. 짜잔~! 이로써 알게 되었습니다.값 타입인 구조체도, 참조 타입인 클래스도...모두 Object가 만들어놓은 메서드를 오버라이드 할 수 있다는 사실을 말입니다... 재미..

#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 형식으로 말입니다. 뭐....