c# -2
c# -> 기본 데이터 형식(+상수, 열거형, ..) ; 복합 데이터 형식(구조체, 클래스, 배열, ..) ; 값 형식/참조 형식
값 형식 ; 스택
참조 형식 ; 스택, 힙 (메모리 주소 ..)
스택 -> 블록이 끝나면 사라짐 (변수의 생명 주기가 다할 경우!)
힙 -> 더이상 참조하는 곳이 없을 때 가비지 컬렉터가 데이터를 치워주는 구조
기본 데이터 형식 -> 숫자(값)/논리(값)/문자열(참조형)/오브젝트(참조형)
숫자 -> 정수, 부동 소수, 소수 ...
정수 -> byte, sbyte, short, ushort, int, uint, long, ulong, char
부동 소수점 -> double, float(ex. float b=3.14159265358979f;)
decimal -> 실수를 다룸.. 부동소수점과 다른 방식으로 소수를 다루며, 정밀도가 훨씬 높음. 29자리 데이터를 표현할 수 있는 소수 형식.(ex. decimal d=3.14159265358979m;)
문자 -> char(' ')
문자열 -> string(" ")
논리 -> bool(true/false)
object -> 모든 데이터 형식(기본 데이터 형식 + 복합 데이터 형식, ... 프로그래머가 만드는 데이터 형식,..)을 다룰 수 있음. 즉, 모든 데이터 형식의 조상. 어떠한 형식의 데이터라도 object에 담아서 처리 가능. 참조형식이기 때문에 힙에 데이터를 할당. (int, double 등의 형식은 값 형식 >> 스택에 데이터 할당) 값 형식의 데이터를 힙에 할당하기 위한 boxing 기능 제공.. 힙에 있던 값 형식 데이터를 형식객체에 다시 할당하는 것은 un-boxing
상속 ; 부모 데이터 형식의 유산을 자식이 물려 받는 것. 부모로부터 데이터, 메소드를 물려받아 부모와 똑같이 동작 가능
상수와 열거형 -> 변수와는 다르게 안에 담긴 데이터를 절대 바꿀 수 없는 메모리 공간
상수 -> const
열거형 -> 종류는 같지만, 다른 값을 갖는 상수를 선언해야 할 경우 사용.
(ex. enum 열거형식명 : 기반 자료형{상수1, 상수2, 상수3, ...}
enum list_Test{Yes, No, Cancel, Ok} -> 0, 1, 2, 3 -> list_Test.Yes, ...)
Nullable -> 비어있는 상태가 될 수 있는 형식..(ex. 데이터 형식? 변수 이름; >> int? a=null;)
* int a=null 과 같은 경우 불가능...
var -> 선언과 동시에 초기화 필요.. 컴파일러가 자동으로 해당 변수의 형식을 지정해줌. 지역변수로만 사용 가능
(* c# ; 전역변수 존재 x.....)
'Programming' 카테고리의 다른 글
overloading with overriding (0) | 2016.02.29 |
---|---|
c# -3 (0) | 2016.02.28 |
c# (0) | 2016.02.09 |
CGI (0) | 2015.08.24 |
Program Bug (0) | 2015.08.21 |