식 본문 정의=> 연산자C#에서 두 가지 방법으로 사용할 수 있다.람다 식에서 람다 연산자로, 람다 본문에서 입력 변수를 구분한다식 본문 정의에서는 멤버 구현에서 멤버 이름을 구분한다식 본문 멤버란 무엇일까?메소드를 비롯하여 속성, 인덱서, 생성자, 소멸자는 공통된 특징이 있다. 이들은 모두 클래스의 멤버로서 본문이 중괄호{}로 만들어져 있다. 이러한 멤버의 본문을 식(expression)만으로 구현하는 것이 가능하다. 이렇게 구현된 멤버를 영어로 "Expression-Bodied Memeber" 라고 하고, "식 본문 멤버" 라고 한다. 식 본문 정의를 사용하면 간결하고 읽기 쉬운 형식으로 멤버의 구현을 제공할 수 있다. 메서드 또는 속성과 같은 지원되는 멤버에 대한 논리가 단일 식으로 구성된 경우 식..
★KEYWORD★컴파일러 / 인터프리터 / 번역프로그램 / 컴파일러: 코드전체를해석 / 인터프리터: 한 줄씩 읽어들임 / 컴파일러 인터프리터 차이 컴파일러(compiler)는 무엇이고 어떻게 작동할까?컴파일러는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램이고,코드 전체를 통째로 해석하는 특징을 가지고있다. 작동하는 과정은 다음과 같다. 소스 코드 읽기 :소스 코드 파일을 읽어들인다어휘 분석 : 소스 코드를 토큰이라는 작은 요소로 분해한다. 이 단계에서 컴파일러는 주석, 공백, 탭 문자 등을 제거하고, 키워드, 연산자, 식별자, 리터럴 등의 토큰으로 분류한다.구문 분석 : 토큰들을 구조화 하여 추상 구문 트리를 생성한다. 이 과정에서 문법에 따라 토큰들을 조합..
★KEYWORD★컴파일 / CPU가 이해할 수 있는 언어로 번역하는 것 / 4가지 과정 / 전처리 / 컴파일 / 어셈블리 / 링킹컴파일(Compile) 이란?컴파일은 인간이 이해할 수 있는 언어로 작성된 소스 코드(고수준 언어 : C, C++, Java 등)를 CPU가 이해할 수 있는 언어(저수준 언어 : 기계어)로 번역(변환)하는 작업을 말한다.우리가 C, C++, Java로 작성하는 소스 코드는 컴퓨터가 이해할 수 없다. 컴퓨터는 0, 1로 이루어진 기계어만 이해할 수 있기 때문이다.따라서 우리가 작성한 소스 코드를 컴퓨터가 이해할 수 있게 0, 1로 이루어진 기계어로 번역하는 컴파일 과정이 필요하다.소스 코드는 컴파일을 통해 기계어로 이루어진 실행 파일이 된다. 이 파일을 실행하면 실행 파일 내용이..
★KEYWORD★인터넷 프로토콜 / 인터넷 규약 주소 / 주소체계 고유주소 / 데이터 송수신 / IP주소 / IPv4 / 첫번째 인터넷 프로토콜 인터넷 프로토콜(IP) 이란?데이터 패킷이 네트워크를 통해 이동하고 올바른 대상에 도착할 수 있도록 데이터 패킷을 라우팅하고 주소를 지정하기 위한 프로토콜 또는 규칙의 집합이다. 인터넷 프로토콜의 역할목적지까지 데이터를 전달하는 기능을 수행 (지정한 IP 주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달)주소를 관리하는 기능집 주소가 있어야 우편을 보낼 수 있는 것처럼 네트워크에 접속 된 각 컴퓨터에서도 고유한 식별 번호가 있어야 정확하게 데이터를 송·수신 할 수 있다.➡ 따라서 인터넷에 연결 된 모든 컴퓨터에는 고유 주소가 부여되는데, 이것이 IP주소이..
자료구조란 무엇일까?자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다.선형 자료구조데이터가 순차적으로 쭉 연결되어있는 상태배열스택 : LIFO큐연결리스트 (링크드리스트) 비선형 자료구조데이터가 계층적이거나 그래프 형태로 저장되는 구조트리그래프 출처: 위키백과, 나무위키
★KEYWORD★데드락 / 교착상태 / 한정된 자원을 여러곳에서 사용하려고 할 때 / 발생조건은 4가지 모두 성립해야 함 / 상호배제 / 점유대기 / 비선점 / 순환대기 / 해결법 : 예방, 회피, 데드락탐지 및 회복 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해서 다음 처리를 하지 못하는 상태 무한히 다음 자원을 기다리게 되는 상태를 말한다. 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생한다. 멀티 프로그래밍 환경에서 한정된 자원을 얻기 위해 서로 경쟁하는 상황 발생 한 프로세스가 자원을 요청했을 때, 동시에 그 자원을 사용할 수 없는 상황이 발생할 수 있음. 이때 프로세스는 대기 상태로 들어감 대기 상태로 들어간 프로세스들이 실행 상태로 변경될 수 없을 때 '교착 상태' 발..