일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 물이 만들어내는 전 세계의 아름다운 장관
- Never
- 4장
- Fear
- Wiki
- CLR via C#
- 아름다운 풍경
- 오늘일기
- 남아프리카
- Coursera
- 장관을 이루는 일몰과 일출
- Enough
- 동물에 관한 매혹적인 사실
- Death
- 장관을 이루는 세계 곳곳의 등대 사진
- 6장
- 3장
- 그루지야
- 이탈리아
- 5장
- c#
- 무료
- 8장
- 위젯
- 전 세계의 잊지 못할 명소들
- andrew ng
- ML
- 제프리 리처
- 사진: 세계의 웅대한 산
- 아름다운 자연폭포
- Today
- Total
목록5장 (5)
오진이 블로그
목차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#은 암묵적 타입 변환을 "안전하다'고 판단하는 ..