본 포스팅은 학교에서 수업을 듣고 정리한 내용입니다. 일반적인 프로그램의 형태 데이터를 받아서(입력단계), 데이터를 처리한 후에(처리단계), 결과를 화면에 출력(출력단계)한다. C언어 기본 프로그래밍 #include int main(int argc, const char * argv[]) { int x; int y; x = 100; y = 200; int sum = x + y; printf("두수의 합 : %d", sum); return 0; } 주석 프로그래머가 코드작성시에 필요한 메모를 작성하고 싶을 때 사용한다. 단, 주석의 경우 프로그램 컴파일 시에 영향을 끼치지 않는다. 그래서 필요한 내용을 양 껏 작성 가능하다. /* 한 줄로 된 주석 */ /* ------------------------ 저자..
Bit, Byte, 2진수 컴퓨터 시스템에는 여러개의 구멍이 존재한다. 그리고 이를 전기에 연결되어있으면 1, 연결되어 있지않으면 0이라고 사람이 임의로 정의한 것이다. 그리고 bit는 기본적으로 2진수 한 자리를 표현하며 0과 1 두가지로 표현된다. 1 byte = 8 bit 1 byte는 8 bit인데, 그 절반인 4 bit 는 이진수 4자리이고(비트가 2진수), 16진수 한자리가 된다. 즉 4 bit로 1~16까지 표현이 가능하다. int x = 10; // Int에서는 4Byte의 메모리 공간을 차지한다. 즉 32Bit만큼 메모리를 차지한다.
지금까지 코틀린을 이용하여 앱개발을 하면서도 코틀린이란 무엇인지에 대해서 명확히 알고 넘어가지는 않았던 것 같다. 그래서 이번에는 코틀린에 대해서 공부를 해보자. 코틀린이란 무엇인가 코틀린은 안정성, 간결성, 상호 운용성을 강조하는 다중 패러다임, 다중 플랫폼 프로그래밍 언어이다. 2010년 하반기에 처음 생겨서 2016년 2월 처음으로 공개 릴리스되었으며, 안드로이드 개발, 데스크톱 애플리케이션, 서버 측 솔루션 등 여러 개발 분야에서 유망한 도구로 꾸준히 인기를 얻고 있다. 2019년 11월 코틀린 1.3이 나왔고, 2021년 5월 1.5.0이 나왔다. 지금 현재는 1.8.21.이다(2023년 8월 21일 기준) 원래 언어를 만든 목적, 즉 자바에 대해 더 나은 대안을 제공하려는 목적을 넘어 코틀린이..
JVM이란운영체제는 자바 프로그램을 바로 실행할 수 없는데, 그 이유는 자바 프로그램은 완전한 기계어가 아닌, 중간 단계의 바이트 코드이기 때문이다. 이것을 해석하고 실행 할 수 있는 가상의 운영체제가 필요하다. 이것이 자바 가상 기계(JVM : Java Virtual Machine)이다. JVM은 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 한다. 자바 프로그램은 확장자가 .java인 파일을 작성하는 것부터 시작된다. 이것을 소스 파일이라고 하는데, 이 소스 파일을 컴파일러로(javac.exe)로 컴파일하면 확장자가 .class인 바이트 코드 파일이 생성된다. 바이트 코드 파일은 JVM 구동 명령어(java.exe)에 의해 JVM에서 해석되고 해당 운영체제에 맞게 기계어로 번..
var, val 이란 val : 불변 변수로, 값의 읽기만 허용되는 변수. Value의 약자이다. var : 가변 변수로 값의 읽기와 쓰기가 모두 허용되는 변수, Variable의 약자이다. 변수는 값을 저장하는 메모리 공간에 붙는 이름이다. 코틀린에는 두가지의 형을 지원하게 되는데 위에서 설명한 val과 var이다. 위에서 설명한 것 처럼 val과 var은 각각 불변 변수와 가변 변수를 나타내고 있고, 공통적으로 초기화시에 값을 할당하지 않는다면 반드시 Type명시해야한다. 다만 컴파일러가 변수 탕비을 추론할 수 있는 경우에는 Type를 생략해도 된다. val val로 지정된 불변 타입 변수는 초기에 값을 할당되면 나중에 값을 변경할 수 없다. 강제로 변수를 변경하려고 한다면 컴파일 에러가 발생한다. ..
Error Handling (에러 처리) Swift Error Handling은 프로그램 실행 도중 발생할 수 있는 에러나 예외 상황을 처리하는 방법입니다. 에러 처리를 위해 Swift에서는 try-catch 문법을 사용합니다. 에러 유형 Swift에서는 다음과 같은 두 가지 종류의 에러를 다룹니다. 표현식(expression)을 평가할 때 발생하는 에러: 예를 들어, 배열의 범위를 벗어난 인덱스로 접근하는 등의 상황에서 발생할 수 있습니다. 이러한 에러는 런타임 에러(runtime error)라고도 합니다. 프로그램 구현 단계에서 발생하는 에러: 예를 들어, 함수에서 예상한 인자를 받지 못했을 때 발생하는 에러 등이 있습니다. 이러한 에러는 컴파일 타임 에러(compile-time error) 또는 논..
타입 캐스팅(Type Casting)이란 Swift에서 타입캐스팅(Type Casting)은 인스턴스의 타입을 확인하거나, 인스턴스를 부모 클래스나 프로토콜의 타입으로 캐스팅하는 것을 말합니다. Swift에서는 is, as 연산자를 사용하여 타입캐스팅을 수행합니다. 인스턴스 타입 확인 is 연산자를 사용하여 인스턴스의 타입을 확인할 수 있습니다. 아래는 is 연산자를 사용하여 인스턴스의 타입을 확인하는 예시입니다 class Animal {} class Dog: Animal {} let animal = Animal() let dog = Dog() if animal is Animal { print("animal is an instance of Animal") } if dog is Animal { print(..
Swift Optional이란 Swift에서 Optional은 값이 있을 수도 있고 없을 수도 있는 변수나 상수를 표현하는 데이터 타입입니다. Optional은 기본적으로 열거형으로 정의되어 있으며, Optional 값을 사용할 때는 값이 있는지 없는지 검사한 후에 사용해야 합니다. Optional 타입은 ? 기호를 이용하여 변수나 상수의 타입 뒤에 지정합니다. 예를 들어, 정수형(Optional Int) 변수를 선언하는 방법은 다음과 같습니다: var optionalInt: Int? optionalInt 변수는 값이 있을 수도 있고 없을 수도 있는 정수형 변수입니다. 값이 없는 경우에는 nil이 할당됩니다. Optional 값은 강제 언래핑(Forced Unwrapping), 옵셔널 바인딩(Option..