본문 바로가기
코스웨어/15년 스마트컨트롤러

20150605 - 26번 임현수 배열, default 매개변수, 복사생성자

by 알 수 없는 사용자 2015. 6. 7.
728x90
반응형
■ 제어UI



■ 무명 형식
자바script에서 처럼 C#에서도 var를 지원한다.
데이터 타입을 다 포함한다.

LINQ 구문을 구현하기 위해 필요한 형식임.
JSON을 지원하기 위해도 쓰임.

■ 추상 클래스와 프로퍼티
클래스 단에서 구현된 것과 구현되지 않은것을 같이 전달하기 위해서 필요하다 .

■ 인터페이스
사용자가 구현해야할 메소드를 알려주는 역할을 한다. - 껍데기같은..

어제까지는 객체지향의 틀에 관한 내용
오늘은 데이터를 처리하는 부분

■ 배열

데이터를 처리하기 위한 중요한 메카니즘
인덱싱 되어있지 않은 데이터를 인덱싱
인덱싱 되어있는 데이터를 원하는 형태로 줄세우기

뽑아내기 쉽다.
연관성 없는 데이터를 연관성을 부여




Array클래스 
Array.Sort 메소드

■ DerivedFromArray p.310

<T> - 타입 매개변수
박싱 언박싱으로 인해 cpu에 걸리는 부하가 큰 것을 해결하기위한 것

ex)
Array array1 = new BinarySearch<string>();

모든 데이터 타입은 컴파일단계에서 object를 상속받는다.
Class Temp
{
     int k;
     int a;
          ()
          {}
          {}
}

t1 = new Temp();

t1은 레퍼런스 변수 sizeof 하면 8바이트 안나온다.
t1이 가지고 있는 크기는 데이터 타입과 무관하다. 객체의 시작주소라고 보면된다.

타입 매개변수는 인스턴스를 생성할때 쓴다.

■ MoreOnArray p.311

■ N차원 배열


2차원 배열 [2,3]
3개의 요소를 갖는 배열이 2개

3차원 배열 [4,5,2]
2개의 요소를 갖는 배열이 5개인 배열이 4개


■ 가변 배열(Jagged Array)


■ 컬렉션

배열도 컬렉션이다.


■ 해시테이블

쌍(키, 값)으로 이루어진 데이터.

■ 인덱서(객체 배열)

인스턴스의 목록을 만든다.
객체를 배열처럼 다룬다.


■ 시스템 제어


■ default 인자 값 지정



■ DArray 클래스 p.160

▲ 디폴트 생성자가 호출되는것 같지만, 인자두개짜리 생성자가 호출된다.
비록 인자 2개가 들어있지만, 디폴드값이 설정되어 있기 때문이다.

■ memmove()

▲ memmove()는 바이트복사(바이너리복사)를 하는 함수이다.

■ 복사생성자

복사생성자 안만들면 컴파일러가 자동으로 만들어준다.(binary 복사)


728x90