Programming

    [C++] 함수

    [C++] 함수

    Default Parameter 매개변수의 default값을 선언한 함수는 호출자 코드에서 실수를 생략한채로 호출이 가능하다. 이때 매개변수의 default값은 반드시 함수 원형의 선언부분에 작성해야한다. #include using namespace std; int TestFunc(int = 10); int TestFunc(int nParam){ return nParam; } int main(){ cout

    [C++] 범위기반 for문

    for문은 조건식을 통해 일정 횟수를 중심으로 반복하지만 범위기반 for문의 반복횟수는 배열의 요소 개수에 맞추어 자동으로 결정된다. 따라서 코드를 잘못 입력해서 오류가 발생할 가능성이 줄어들게 된다. 장점 코드가 짧고 편리하다. std container(vector, list, map...)와 혼합하여 사용할 수 있다. for문 속도차이도 크게 나지 않는다. 참조자(reference)와 auto를 이용한다면 더욱 빠르게 코딩할 수 있다. 단점 반복 배열의 접근 Index가 없다. 모든 배열을 0부터 끝까지 탐색해야 한다. 기존의 for문 #include using namespace std; int main(){ int arr[5] = {1, 2, 3, 4, 5}; for(int i = 0; i < 5;..

    [C++] 변수

    내장타입 변수 선언 #include int main(){ int i = 2; float pi = 3.14; double x = 1.5 e6; char c1 = 'a'; bool cmp = i < pi; } signed와 unsigned char, int, long, short와 같은 정수타입에서 사용가능 기본적으로는 signed이지만 unsigned로 선언하면 음수값은 갖지 않고 양수값을 표현할 수 있는 범위가 2배로 넓어지게 된다. 변수 타입 추론 auto키워드는 변수 타입을 자동으로 지정해준다. #include int main(){ int i = 1; auto n = i + 2; //n은 int } 상수 상수는 값을 변경할 수 없다. 따라서 선언과 동시에 값을 반드시 설정해주어야 한다. #includ..

    [Kotlin] Null Safety

    코틀린은 자바보다 null에 대한 좀 더 세밀한 안정적인 처리가 가능한데, 이것을 Null Safety라고 한다. 코틀린의 Null Safety를 통해 NullPointerException이 생기는 것을 방지할 수 있다. Nullable nullable은 변수에 null을 허용하겠다는 의미이다. ? 연산자 코틀린에서는 기본적으로 변수를 선언할 때 다른 언어와 달리 초기값을 null로 하는 것이 불가능하다. 그러므로 변수에 null을 저장하고 싶다면 즉, null을 허용하고 싶다면 변수의 타입 뒤에 물음표를 추가해야 한다. val number1 : Int = null //NPE error 발생 val number2 : Int? = null !! 연산자 !! 연산자는 null이 아님을 개발자가 보장한다. 하..

    [C++] 변수

    내장타입 변수 선언 #include int main(){ int i = 2; float pi = 3.14; double x = 1.5 e6; char c1 = 'a'; bool cmp = i < pi; } signed, unsigned char, int, long, short와 같은 정수타입에서 사용가능 기본적으로는 signed이지만 unsigned로 선언하면 음수값은 갖지 않고 양수값을 표현할 수 있는 범위가 2배로 넓어지게 된다. auto auto키워드는 변수의 자료형을 자동으로 지정해준다. #include int main(){ int i = 1; auto n = i + 2; //n은 int }

    [Android] 네이티브앱, 하이브리드앱, 웹앱

    네이티브 앱 (Native App) Android 모바일 앱 개발의 경우는 Kotlin 또는 Java 로 네이티브 앱을 만들 수 있고 iOS의 경우 Swift 또는 Objective C로 만들 수 있다. 덕분에 앱의 실행 속도가 빠르고 유용한 API의 지원도 받을 수 있다. 반면 다른 운영체제에서도 실행되기 위해서는 시간도 노력도 돈도 많이 드는 단점이 있다. 장점 Android, iOS 기반의 API로 개발하여 속도가 빠르고 안정적이다. 고성능 그래픽 처리가 가능하다 (2D, 3D, 증강현실 등) 단점 해당 플랫폼 별로 다른 언어를 사용함으로 각각의 언어를 알고 있어야하며 러닝커브도 높다. e.g) Android - Java, Kotlin / iOS - Swift, Objective-C 특정 플랫폼 별..