프로그래밍

비트 연산과 시프트 연산 먼저 비트 연산을 하기 전에 비트에 대해서 알아보겠습니다. 비트(bit, binary digit)는 하나의 비트는 0이나 1의 값을 가질 수 있고, 각각은 참, 거짓 혹은 서로 배타적인 상태를 나타낸다. 이것을 간단하게 2진수로 표현하자면 0,1이 됩니다. 이런 비트가 8개 모이면 그것은 8비트고 다른 말로 바이트가 되고 , 1바이트는 문자를 처리하는 최소 단위로 다른 말로 캐릭터(Character)라고 합니다. 비트 연산의 종류 & (AND) 둘 모두 1이면 1을 반환합니다. 0 & 0 = 0 0 & 1 = 0 1 & 0 = 0 1 & 1 = 1 | (OR) 하나 이상 1이면 1을 반환합니다. 0 | 0 = 0 0 | 1 = 1 1 | 0 = 1 1 | 1 = 1 ^ (XOR)..
람다식 (lambda) 람다 식은 대리자 또는 식 트리 형식을 만드는 데 사용할 수 있는 익명 함수입니다. 람다 식을 사용하여 인수로 전달되거나 함수 호출 값으로 반환되는 로컬 함수를 쓸 수 있습니다. 람다 식은 LINQ 쿼리 식을 작성하는 데 특히 유용합니다. 람다 식을 만들려면 람다 연산자 => 왼쪽에 입력 매개 변수를 지정하고(있는 경우) 다른 쪽에 식이나 문 블록을 삽입합니다. 예를 들어 람다 식 x => x * x는 이름이 x인 매개 변수를 지정하고 x 제곱 값을 반환합니다. 다음 예제와 같이 대리자 형식에 이 식을 할당할 수도 있습니다. 람다식은 다음과 같이 작성 할 수 있습니다. delegate int TestDelegate(int _number); static void Main(string..
값 형식 & 참조형식 (Value Type & Reference Type) 지금까지 사용하던 프로그래밍 언어와 달리 C#에는 값 형식과 참조 형식이라는 두 가지 데이터 형식이 있습니다. 응용 프로그램의 성능이 중요하거나 C#의 데이터 및 메모리 관리 방식에 관심이 있는 경우에는 두 형식의 차이점을 알아야 합니다. C# 형식은 참조 형식과 값 형식 두 가지가 있습니다. 값 형식 (Value Type) 값 형식을 기반으로 한 변수에는 값이 직접 포함됩니다. 값 형식 변수 하나를 다른 변수에 대입하면 변수에 포함된 값이 복사됩니다. 이는 참조 형식 변수를 대입하는 경우와 다릅니다. 참조 형식 변수의 경우 개체 자체가 아니라 개체에 대한 참조가 복사됩니다. 모든 값 형식은 암시적으 System.ValueType..
대리자 [Delegate] 대리자는 특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식입니다. 대리자를 인스턴스화하면, 호환되는 시그니처와 반환 형식을 가진 모든 메서드를 대리자 인스턴스에 연결할 수 있습니다. 대리자 인스턴스를 통해 메서드를 호출할 수 있습니다. 대리자는 메서드를 다른 메서드에 인수로 전달하는 데 사용됩니다. 이벤트 처리기는 대리자를 통해 호출되는 메서드라고 할 수 있습니다. 사용자 지정 메서드를 만들면 Windows 컨트롤 같은 클래스가 특정 이벤트가 발생했을 때 해당 메서드를 호출할 수 있습니다. 대리자는 다음과 같은 특징을 가지고 있습니다. 1. 대리자는 C++의 함수 포인터와 유사하지만 형식이 안전합니다. 2. 대리자를 통해 메서드를 매개 변수로 전달할..
박싱 & 언박싱 (Boxing & UnBoxing) 박싱 (Boxing) - 값(Value) 타입을 참조 (Reference) 타입으로 변환합니다. 언박싱(UnBoxing) - 참조 (Reference) 타입을 값(Value) 타입으로 변환합니다. 박싱 (Boxing) 박싱이란 쉽게 힙 메모리에 박스를 하나 만들고 거기에 값을 복사해서 넣는 것 입니다. (박싱이라니..빡싱이라고 해야 발음이 올바르지 않을까?...ㅋ) 여기서 number라는 변수를 num이라는 object로 박싱을 하게 되는 과정입니다. 1 2 3 4 5 6 7 8 9 10 11 static void Main(string[] args) { int i= 100; object o = i; //Boxing i= 123; Console.Write..
네임 스페이스 (NameSpace) - 비슷한 기능이나 성격을 띄고 있는 비슷한 클래스 , 구조체 , 인터페이스 , 열거형 , 델리케이트 등을 하나의 이름 아래로 묶는 일을 합니다. 메소드(Method) - 객체 지향 언어에서 사용하는 용어로, 일련의 코드를 하나의 이름 아래로 묶은 것입니다. [C/C++] - 함수 (Finction) , [PASCAL] - 프로시져(Procedure) namespace 네임 스페이스 { class 클래스 이름 { 한정자 반환_형식 메소드_이름 (매개_변수) { 코드 내용 return 결과_값 } } static void Main(string[] args) { // 메인 함수 } } static void Main(string[] args) - C#에서는 staric으로 ..
C++과 C# 비교 출처 - [MSDN] https://msdn.microsoft.com/ko-kr/library/aa287549(v=vs.71).aspx 1. 클래스는 하나의 기본 클래스에서만 구현 상속을 할 수 있습니다. [C++] - 한번에 여러개 가능 1 2 3 class A{}; class B{}; class C: public A , B { }; cs [C#] - 한번에 한개만 가능 1 2 3 4 class A { } class B { } class C : A , B { } // 잘못된 코드 // 에러! error CS1721: '' 클래스는 여러 개의 기본 클래스('A' 및 'B')를 가질 수 없습니다. cs 2. 배열의 선언 방식이 다릅니다. [C++] 1 2 3 4 int array1[5]..
1. 함수 루아에 함수는 다음과 같은 형식을 띄고 있습니다. function 함수 이름 (인자값) end 루아에는 자료형이 없기 때문에 인자 값에 자료형을 사용하지 않고, 또한 리턴의 경우에도 자료형이 없기 때문에 원할 경우에 리턴해주면 됩니다. 리턴의 경우에도 여러개의 값을 리턴할 수 있습니다. (예 : return numA , numB) [뭔가 코드가 괴랄하지만..배운걸 모두다 쓴다고 생각하자..] 2. 변수 범위 루아에서는 지역변수의 경우 앞에 local를 붙혀서 사용합니다. 또한 전역변수의 경우에는 함수 밖에서 선언하면 됩니다. 함수안에 또 다른 함수가 있는 경우 상위 지역변수는 사용할 수 있습니다.
QA Engineer  - P군
'프로그래밍' 카테고리의 글 목록 (2 Page)