목록프로그래밍/개념정리 (4)
STIKA-DEV
struct와 class의 차이 C#에서는 struct를 C, C++ 호환을 위해 사용하고 단순한 값만을 저장할때는 struct가 더 효율적이다 struct 1. 값타입 2. 스택에 쌓인다 3. 상속이 불가능하다 4. 단순히 값을 저장한다 5. 메서드(함수)가 없다 class 1. 참조타입 2. 힙영역에 쌓인다 3. 상속이 가능하다 4. new연산자를 통해 객체를 생성, 할당을 해줘야 사용가능하다 5. 메서드(함수)가 있다
접근제한자의 종류와 차이 클래스 외부에서 내부로의 접근을 제한하기 위해 사용한다 public : 클래스 외부에서 클래스에 자유롭게 접근할 수 있다 private : 클래스 외부에서는 사용할 수 없고 클래스 내부에서는 접근이 가능하다 protected : 자식 클래스에서 접근할 수 있다 internal : 같은 어셈블리내에서는 접근 가능하다 protected internal : 같은 어셈블리와 다른 어셈블리의 상속받은 클래스 private protected : 같은 어셈블리와 같은 어셈블리 내의 상속받은 클래스
ref와 out의 차이 ref와 out은 변수를 참조 형태로 전달하는데 사용된다 ref는 기존 변수를 메서드에서 수정하려 할 때 사용한다 매개변수로 전달하기 전에 반드시 초기화를 해야하지만, 무조건 변수를 할당하지는 않아도 된다 레퍼런스로 전달해서 변수에 직접 참조한다 복사가 일어나지 않게 해서 시간과 메모리를 절약할 수 있다 out은 메서드 내에서 생성된 값을 반환할 때 사용한다 처음에 초기화하지 않아도 되지만 메서드 안에서 변수에 반드시 할당하고 사용해야한다 out이 써지면 어디선가 무조건 사용이 됐구나를 알 수 있고 가독성을 높여주고 작성해야하는 코드의 양을 줄여줄 수 있다
float과 int의 표현 가능한 수의 범위 차이 int와 float의 자료형 크기는 4Byte지만 값을 저장하는 방법이 달라서 표현 가능한 수의 범위가 다르다 int는 1bit만 부호를 표현하고 나머지 전부 수를 표현하는데 float는 1bit가 부호부, 1byte는 지수부, 나머지 23bit는 가수부로 나뉜다 가수부 - 숫자의 정수 부분 지수부 - 소수점의 위치 부분을 지수부라고 한다 부동소수점 - 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것을 말한다