일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 위젯
- Fear
- 무료
- 아름다운 풍경
- 동물에 관한 매혹적인 사실
- 오늘일기
- ML
- 장관을 이루는 일몰과 일출
- 5장
- 이탈리아
- CLR via C#
- 3장
- Coursera
- 제프리 리처
- Enough
- 4장
- c#
- 아름다운 자연폭포
- 물이 만들어내는 전 세계의 아름다운 장관
- 6장
- 장관을 이루는 세계 곳곳의 등대 사진
- 전 세계의 잊지 못할 명소들
- Death
- 사진: 세계의 웅대한 산
- andrew ng
- 그루지야
- 8장
- 남아프리카
- Wiki
- Never
- Today
- Total
목록CLR via C# (44)
오진이 블로그
목차6장. 타입과 멤버의 기본타입의 가시성6장. 타입과 멤버의 기본타입의 가시성정의하는 타입의 가시성을 설정하기 위하여 public이나 internal 중 하나를 택할 수 있다. public을 사용하여 선언하면 타입이 정의된 어셈블리는 물론 이 어셈블리 외부에서도 선언한 타입을 자유롭게 찹조할 수 있는 상태가 된다. internal을 사용하여 선언하면 외와는 반대로 같은 어셈블리 안에 포함되는 코드에 한정하여 선언하는 타입에 접근할 수 있으며, 다른 어셈블리에서는 선언하는 타입을 사용할 수 없도록 가려지게 된다.이웃 어셈블리 Uploaded by Notion2Tistory v1.1.0
목차 6장. 타입과 멤버의 기본 6장. 타입과 멤버의 기본 서로 다른 종류의 타입 멤버들 어떤 타입에는 멤버가 하나도 없거나 다음에 해당하는 멤버가 하나 이상 들어있을 수 있다고 하였다. 상수 : 상수는 절대불변의 데이터 값을 식별하는 기호다. 이러한 상수들은 코드를 더 알기 쉽고 유지보수하기 편리하도록 만드는 데 보통 활용된다. 상수들은 항상 타입과 관계를 가지게 되며, 타입의 인스턴스와는 무관하다. 논리적으로는 상수는 항상 정적 멤버다. 필드 : 필드는 읽기 전용 또는 읽기/쓰기 겸용 데이터 값에 대한 표현이다. 필드는 타입의 상태를 정의하기 위하여 정적 멤버로 선언될 수 있다. 뿐만 아니라 인스턴스의 상태를 정의하기 위한 목적으로 인스턴스 멤버(혹은 비정적 멤버)로 선언될 수도 있다. 가능한 필드는..
목차2부. 타입 설계5장. 기본, 참조, 값 타입dynamic 기본 타입2부. 타입 설계5장. 기본, 참조, 값 타입dynamic 기본 타입C#은 타입 안정성을 중시하는 프로그래밍 언어다.모든 표현식의 결과가 특정한 타입의 인스턴스로 계산되어 컴파일러가 해당 타입에 대해 제공하는 기능만을 연결해서 일을 처리할 수 있는 것이다.타입 안정성을 지키는 프로그래밍 언어의 이점은 이를 지키지 않는 프로그래밍 언어에 비해서 개발자들이 컴파일 시점에서 오류를 미리 교정할 수 있으므로 예기치 않은 오류를 더 적게 만날 수 있다는 것이다.리플렉션이나 다른 구성요소와 통신하는 일을 좀 더 쉽게 할 수 있도록, C# 컴파일러는 표현식의 타입을 dynamic 타입으로 만드는 기능을 제공하고 있다.이 표현식의 결과뿐만 아니라 ..
목차2부. 타입 설계5장. 기본, 참조, 값 타입객체 해시 코드2부. 타입 설계5장. 기본, 참조, 값 타입객체 해시 코드만약 Equals 메서드를 재정의했다면, 반드시 GetHashCode 메서드에 대해서도 재정의를 해주어야만 한다.System.Collections.HashTable 타입, System.Collections.Generic.Dictionary 타입을 비롯한 다른 모든 컬렌션들에거는 두 개의 객체가 동일한 객체인지 살펴보기 위한 목적으로 같은 해시 코드를 계산할 수 있는지를 살펴보기 때문이다.기본적으로 컬렉션에 키/값 쌍을 추가할 때, 객체로부터 얻어진 해시 코드가 키 객체로 사용된다.여러분이 만드는 타입의 인스턴스를 식별하기 위한 해시 값 계산 알고리즘을 선택할 때에는 다음의 가이드라인을..
목차2부. 타입 설계5장. 기본, 참조, 값 타입박싱된 값 타입과 박싱되지 않은 값 타입2부. 타입 설계5장. 기본, 참조, 값 타입박싱된 값 타입과 박싱되지 않은 값 타입값 타입은 참조 타입보다 가벼운데 그 이유는 관리되는 힙에 객채로 할당되지 않기 때문이라고 하였으며, 가비지 컬렉터가 관리하지 않으며 포인터로 지칭되지 않는다. 하지만 값타입에 대한 참조를 얻어야만 하는 일이 자주 있다.박싱이라는 작업을 통해서 값 타입을 참조 타입으로 변환하는 매커니즘이 있기에 가능하다. 내부적으로, 박싱이 일어나면서 다음과 같은 일이 일어나게 된다.관리되는 힙에 메모리가 할당된다. 이때 소요되는 메모리의 크기는 값 타입 내에 들어있는 필드들의 메모리 크기에 더하여 관리되는 힙에 할당되는 모든 객체들처럼 타입 객체 포..
목차2부. 타입 설계5장. 기본, 참조, 값 타입참조 타입과 값 타입2부. 타입 설계5장. 기본, 참조, 값 타입참조 타입과 값 타입CLR은 참조 타입(Reference Type)과 값 타입(Value Type)이라는 두 종류의 타입 체계를 지원한다.프레임워크 클래스 라이브러리상의 거의 대단수의 타입들은 모두 참조 타입이고, 개발자들이 자주 사용하는 값 타입이 그 나머지이다.참조 타입은 관리되는 힙에 항상 할당되며, C#의 new 연산자가 만들어진 객체의 주소를 반환한다.참조 타입을 사용할 때에는 반드시 명심해야 할 성능상의 고려사항들이 있는데, 그 중 우선 다음의 사항들을 유념해야 한다.메모리는 반드시 관리되는 힙에 할당되어야 한다.힙에 할당되는 각 객체들은 코드상에 선언된 사항들 이외에 추가적인 멤버..
목차2부. 타입 설계5장. 기본, 참조, 값 타입프로그래밍 언어의 기본 타입2부. 타입 설계5장. 기본, 참조, 값 타입프로그래밍 언어의 기본 타입기본 타입(Primitive Type) - 컴파일러가 직접 지원하는 데이터 타입들기본 타입들은 프레임워크 클래스 라이브러리상에 정의된 타입들과 직접 연결(예: C#의 경우 int 타입은 System.Int32타입과 바로 연결)예외없이 모두 동일한 IL 코드 생성int a = 0; // 가장 쓰기 쉬운 문법System.Int32 a = 0; // 비교적 쉬운 문법int a = new int(); // 불편한 문법System.Int32 a = new System.Int32(); // 명시적이지만 너무 돌아가는 문법C#은 암묵적 타입 변환을 "안전하다'고 판단하는 ..