Programming
명령어를 실행하기 위한 스케줄링 단위로 프로세스 내부에 생성할 수 있다.멀티 스레딩을 지원하는 운영체제일 경우 하나의 프로세스에 여러 개의 스레드 자원을 가질 수 있다.단일 스레드라는 것은 여러 작업을 동시에 할 수 없음을 의미, 이를 위해서 멀티 스레드가 필요.1. Foreground Threadstatic void Main(string[] args) { var thread = new Thread(Func); thread.Start(); } static void Func() { //3초 후 프로그램 종료 Thread.Sleep(3000); }위 코드와 같이 프로그램 실행 종료에 영향을 주는 스레드를 Foreground Thread라고 한다.2. Background Threadstatic void M..
# 에뮬레이터 생성/키보드 입력 기능 추가.안드로이드 에뮬레이터에서 텍스트 입력을 받을 경우, 키보드로 텍스트 입력이 가능하도록 하는 기능을 추가할 수 있다. 1. Tool - AVD Manager 2. Create Virtual Device 버튼을 클릭. 3. 원하는 기종이 있으면 선택하고 Next 버튼을 클릭. 4. 원하는 API 버전을 선택하고 Next 버튼을 클릭. (기존에 설치가 되어있지 않을 경우, Download 텍스트를 클릭하여 설치해주어야 한다.) 5. 아래와 같은 화면이 나온다면 Show Advanced Settings 버튼을 클릭. 6. 스크롤을 아래로 내려서 Enable keyboard input에 체크한다. 마지막으로 finish버튼을 클릭하면 키보드 입력이 가능한 에뮬레이터가 생..
# if문1) if문 사용법코틀린에서 if문의 문법은 특별하지 않다.하지만 코틀린에서 if문은 특별한 기능이 있다.바로 값을 리턴할 수 있다. 2) 값을 리턴하는 if문코틀린에서는 삼항 연산자를 지원하지 않으므로 이를 if문을 사용하여 구현할 수 있다.위 코드에서 a(5)는 b(10)보다 작으므로 else문을 타고 maxValue에는 b(10)이 들어가게 된다.코틀린에서는 지원하지 않지만 삼항연산자로 표현한다면 아래와 같을 것이다.maxValue = (a > b) ? a : b 만약 if문의 블럭 내에 여러 줄의 식이 있다면 리턴값은 마지막줄이 된다. # when문1) when문 사용법코틀린에서 when문은 다른 언어의 switch문과 동일하다.value의 값이 1일 경우 1을 출력, 2일 경우 2를 출..
# 배열 생성하는 방법.코틀린에서 배열은 Array 클래스를 타입으로 가진다.배열을 생성하는 방법은 2가지로 라이브러리 함수를 사용하는 방법, Array클래스의 생성자를 사용하는 방법이 있다. 1) 라이브러리 함수를 사용하는 방법.배열 선언과 동시에 값들을 초기화할 경우, arrayOf(value) 함수를 사용하면 된다.배열의 크기만 지정하고 값은 나중에 저장하고자 할 경우, arrayOfNulls(size) 함수를 사용하면 된다.이 경우, 지정된 크기만큼 null값이 세팅된다. 2) 생성자를 사용하는 방법.Array 생성자는 Array(size, 람다식)로 구성되어 있다. 위 코드에서 array에는 [0, 1, 2, 3, 4]로 초기화 된다. # Boxing을 발생시키지 않는 배열 생성.Primitiv..
# 인텔리J* 설정 방법 : Settings(ctrl+alt+s) - Editor - General - Code Completion - Case sensitive completion : None 이렇게 하면 대문자로 시작하는 키워드를 소문자로 입력하여 자동완성 기능을 사용할 수 있다. # 안드로이드 스튜디오안드로이드 스튜디오 역시 인텔리J와 동일한 방법으로 설정이 가능하다. * 설정 방법 : Settings(ctrl+alt+s) - Editor - General - Code Completion - Case sensitive completion : None
# 숫자 타입 변환.코틀린에서는 숫자 타입들간의 Implicit conversion(묵시적 변환)을 지원하지 않는다.예를 들어, Int 타입의 변수를 Long 타입의 변수로 값을 복사할 경우, 작은 타입 -> 큰 타입으로의 변환임에도 불구하고 명시적 타입변환을 구현해야 한다는 것이다.a라는 Int 타입의 변수에 10을 할당하고 b라는 Long타입의 변수에 a의 값을 복사할려고 하였으나 컴파일 에러가 발생하였다.따라서 코틀린에서는 반드시 명시적 타입변환을 해주어야 한다.코틀린에서는 모든 숫자 타입들의 타입변환을 지원해주는 메서드를 지원해준다. (toByte(), toChar(), toDouble(), toInt() 등..) 또한, 다른 타입간의 비교 연산도 지원하지 않는다. # 문자(Char)를 숫자로 사..
# Pycharm으로 프로젝트 생성하기.1. 위 사진에 표시한 프로젝트 생성하기를 클릭한다. 2. 프로젝트가 생성될 경로를 선택하고 Create버튼을 클릭한다. 3. 왼쪽 상단에 프로젝트에서 마우스 오른쪽 클릭을 하여 위와 같이 Python file을 생성을 클릭한다. 4. 파일명을 입력하고 OK버튼을 클릭하면 왼쪽 프로젝트 하위에 '이름.py'라는 파일이 생성되는 것을 확인할 수 있다.py는 파이썬 파일의 확장자이다. 5. 간단한 테스트로 Hello World!를 출력할 수 있는 프로그램을 작성해본다.위와 같이 코드를 작성하고 Ctrl+Shift+F10 누르면 아래에 'Hello World!'가 출력된 것을 확인할 수 있다.
# Python 설치하기.1. 먼저, 아래의 사이트에 접속한다.http://www.python.org/download 2. 위 사진의 빨간색 테두리에서 원하는 버전의 파이썬을 다운로드할 수 있다.최신버전을 다운받고 싶다면 위쪽에 있는 작은 네모상자를 클릭하면 된다.별도로 원하는 버전의 파이썬을 설치하고 싶다면 아래의 큰 네모상자에서 원하는 버전을 선택하면 된다. 3. 먼저, Add Python 3.6 to PATH를 체크하고 Install Now를 클릭한다. 위와 같은 사진이 나오면 정상적으로 설치가 완료되었다.Close를 누르면 된다. # PyCharm 설치하기.1. 먼저, 아래의 사이트에 접속한다.http://www.jetbrains.com/pycharm/download 2. 설치하고자 하는 운영제체..
# Nullable Type이란? Nullable Type은 null이 가능한 타입을 말한다.참조 타입의 경우 null값이 할당될 수 있지만 Value 타입은 null 할당이 불가능하다.그래서 Value 타입에서 null이 가능하게 하는 것이 바로 Nullable Type이다.위 예시에서 두 구문을 동일하다.따라서 기호에 따라 사용하면 된다. # Nullable Type의 특성 기본적으로 null값을 허용하지 않는 타입에만 적용이 가능하다.HasValue, Value 속성(읽기전용)과 GetValueOrDefault 메소드를 사용할 수 있다. 값 할당된 경우 값 할당되지 않은 경우(null) HasValue true false Value (할당된)값 InvalidOperationException 발생 G..
# ??(null 병합 연산자)란? ??연산자는 'null 병합 연산자'라고도 한다.이 연산자의 정의는 아래와 같다.왼쪽 피연산자의 값이 null이 아닐 경우: 왼쪽 피연산자를 리턴.왼쪽 피연산자의 값이 null인 경우: 오른쪽 피연산자를 리턴.위 예시에서 첫번째 줄은 단순히 op라는 string 변수에 null로 초기화 해 두었다.실질적인 ??연산자 사용은 두번째 줄이다.따라서 첫번째 줄은 무시하고 두번째 줄에서 op라는 피연산자의 값은 아래와 같다.- null이 아니면 -> str = op;- null이면 -> str = "not setting";따라서 op = null이므로 str = "not setting"이 된다. ??연산자는 피연산자의 타입이 null을 허용하면 사용 가능하다.따라서 strin..