TIL 20231204

2023. 12. 4. 21:25코틀린

프로그래밍?
프로그램을 제작하고 소통하는 행위이다. 컴퓨터를 알 수 있는 테이블 바탕으로 명령어의 조합이다.

 


컴퓨터 명령어?

사람이 이해하기 쉽게 만든 언어로 이를 예시로 설명하자면
촬영+분석+소통의 조합을 가지고 결과적으로 사진의 내용을 해석하는 프로그램을 만든다는 것이다.

 


현실세계의 언어
사람과 사람간의 소통을 위한 목적을 가진다.

컴퓨터 세계의 언어
컴퓨터와 사람간의 소통을 위한 목적을 가진다.

프로그래밍 언어가 많은 이유는 
특정한 목적에 적절하기 사용하기 때문이다.

 



Kotlin 코틀린?
앱, 백엔드, 데스크톱 프로그램 등 다양한 프로그램을 개발 할 수 있는 언어이다.
구글에서 안드로이드 앱 개발할때 권장하는 언어로, 2019년 구글에서 kotlin을 공식적인 안드로이드 앱 개발 언어로 채택했다. 현재까지도 대부분의 안드로이드 앱 개발을 kotlin으로 진행된다.

자바의 단점을 재선하여 자료형(타입)을 꼭 명시하지 않아도 추론할 수 있는 편리한 기능을 제공한다.
kotlin으로 더욱 간결하게 코드를 작성할 수 있고
Null 예외를 컴파일 시점에 미리 방지할 수 있어 비교적 더욱 안정적인 프로그램을 만들 수 있다.

이름의 유래는 러시아의 코틀린 섬 이름에서 따왔다고 한다.

 

 

Kotlin 특징
JVM 언어와 100% 호환하는 프로그래밍 언어로 직관적이고 간결한 문법을 지녔으며 NULL 처리에 높은 안정성을 가진다.

이때, JVM은 Java Virtual Machine의 줄임말로, 즉 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다. JVM은 OS와 Java 애플리케이션 사이의 중개자 역할을 한다. JVM은 자바 바이트코드를 실행할 수 있는 환경을 제공해준다. 이를 통해 자바 바이트 코드가 플랫폼에 독립적으로 어디서든 실행될 수 있게 한다. 즉, JVM 덕분에 OS에 상관없이 어디서든 JAVA 애플리케이션을 실행할 수 있게 된다.

 

 

왜 Kotlin을 사용할까?
적은 노력으로 많은 작업을 할 수 있고 자바에 비해 비교적 높은 품질의 프로그램을 제작할 수 있다. 간결하고 안전하게 비동기 처리를 수행 할 수 있다.


또한 JAVA를 사용하여 발생하는 문제들을 개선하는 목적을 가졌고 개발자의 편의를 위한 기능들을 다수 제공하기 때문에 구글은 코틀린을 권장한다.
(코틀린을 사용하는 전문 개발자 중 67%가 코틀린을 통해 생산성이 높아졌다고 말하며 코틀린 코드가 포함된 안드로이드 앱은 다운될 가능성이 20%나 낮다고 한다.)

 

 


간단한 단축기를 배웠는데, 이미 vs code를 사용하면서 익혔던 것이었다.

하지만 정리를 해두는 것이 나중에 혹시라도 잊어버릴때 유용하게 사용할 수 있으니 기록해둔다.

 

단축기 모음
ctrl + y 지우기
ctrl + / 주석처리
esc     자동포커싱
좌측 탭의 요소를 클릭하여 소스코드의 커서 깜빡임이 사라졌는지 확인한다.
esc를 입력하여 다시 우측 소스코드에 깜빡이며 포커상황을 확인 할 수 있다.

ctrl + shift + F 프로젝트 내부에서 사용중인 모든 단어들의 위치를 탐색 할 수 있다.

ctrl + s 문서저장

shift + 방향키<상, 하,좌, 우> 라인 드래그

 

최상단 home
최하단 end

 

 


코딩 컨벤션?
정의: 다른 사람들도 이해하기 쉽게 코드를 작성하는 규칙으로 프로그래밍 언어마다 상이하다.

필요성
:코드의 가독성이 증가해서 나중에 봐도 쉽게 이해할 수 있고 유지보수가 용이하다. 효율적인 협업이 가능함.

 


camelCase 
주로 변수, 메소드의 이름을 지정할 때 사용한다.
seoulFood

맨 앞 글자에는 소문자, 뒷 부분의 첫문자는 대문자를 쓴다.

snake_case
주로 상수의 이름을 지정할때 사용한다.
seoul_food

맨 앞 글자와 뒷 부분 첫글자 모두 소문자로 쓴다.

PascalCase
주로 클래스의 이름을 지정할 때 사용한다.
SeoulFood

맨 앞 글자와 뒷 부분 첫글자 모두 대문자를 쓴다.

 



프로그램의 출력?
output으로 프로그램에서 다른 장치로 데이터를 전송하는 행위를 의미한다.
예를 들어 프로그램의 결과를 모니터로 정보 출력,
프로그램에서 스피커로 사운드 출력 이런 경우를 볼 수 있다.

 


프로그램의 입력?
input으로 다른 장치로부터 데이터를 불러와서 프로그램에서 확인하는 행위를 의미한다.
예를 들어 키보드에서 입력한 내용을 불러와서 프로그램에서 확인, 마이크에서 녹음한 목소리를 불러와서 프로그램에서 확인한다.

 

 

 

 

 

 



자료형
프로그램의 모든 정보를 데이터 또는 자료라고 하며,
자료를 저장 할 수 이쓴 적절한 형태를 자료형이라고 정의한다.
비트는 컴퓨터 메모리를 구성하는 방 한칸이라고 보면 된다.

 

 

64비트 8바이트 
8비트 1바이트

영어는 8비트로 처리 가능
한국어는 16비트까지 지원해야함. 
영어로만 하면 불린이나 다른 바이트로 사용 해야하지만
같이 정리할려면 char로 해야한다.

자료형이 중요한 이유
컴퓨터의 하드웨어 사양은 한정적이고 표현하고자 한 자료에 맞게 써야 한다.


코틀린에서는 한글자 한문장 얘기할때 작은따옴표로 표시한다.

 

 

 

val num1 = 1
println("내 첫변수 num1 변수에는 ${num1}이 들어있어")

// Val cannot be reassigned 에러 발생!!
// num1은 var이 아니라 val이기때문에 들어있는 값을 변경하지 못함
num1 = 5

println("변경한 변수 num1 변수에는 ${num1}이 들어있어")

상수는 변하지 않기 때문에 이럴경우에 에러가 발생한다.

 

 

 

 


오늘부터 코틀린 수업을 듣는 날이었다. 일단 들을만큼 더 듣고 다른 강의를 좀더 들어야 할 필요를 느꼈다.

내가 하는 공부인만큼 내가 부족하거나 더 공부해야 하는 부분을 인지하는 것도 중요하다고 본다.

오늘은 진짜 간단한 기초정도만 공부한 느낌인데,, 제대로 시작해봐여지,,

'코틀린' 카테고리의 다른 글

WIL 20231209  (0) 2023.12.09
TIL 20231208  (0) 2023.12.08
TIL 20231207  (1) 2023.12.07
TIL 20231206  (1) 2023.12.06
TIL 20231205  (0) 2023.12.05