
공부할 것들이 너무 많다. for, while, do while, when, if, else, boolean...
대학교 다닐 때 소프트웨어학과 복수전공 수업 항상 벼락치기만 했는데,
그때 제대로 들었으면...🥹 오늘부터는 회고 시간을 활용한 TIL
Let's Go

시작부터 모르겠다.
var result : myNumber.toIntorNull()
해당 코드에서 toIntorNull은 뭐고, 마침표는 왜 찍는 건지 파악해야한다.
보통 코딩을 하면서 RUN 했을 때 빨간 에러가 뜨면 프로그램이 죽었다고 봐야함.
NullPointerExeption ERROR 는 해당 메모리 공간으로 찾아갔는데, 값이 없다는 뜻.
heap = 메모리 공간
어저께 회고에서 강제 옵셔널, 암묵적 옵셔널을 언급하고 (!) 느낌표 기호에 대한 공부를 해야겠다고 적었는데, 오늘 강사님께서 느낌표는 쓰지말라고 하셨다. (?:) 이걸로 사용하는 게 좋다고 함.
바로 회신 받다니 완전 럭키비키🍀🍀

기획서, 기능정의서, 스토리보드, 요구사항정의서 등 강사님께서 가지고 계신 자료들 살펴봐야겠다.🚨
공식 문서를 찾아보는 게 도움이 많이 된다고 한다.
[ Cmd + shift + F ] 파일전체에서 문자를 검색하는 단축키
[ Cmd + A + Delete ] 디버깅 중단점 찍어둔 것들 한 번에 지우기
상수처리는 어떨 때 할까? 고민된다면, 기획자가 값을 바꾸자고 할 것이 뭐가있을까? 를 생각해보자. 하나하나 찾아서 바꾸려면 너무 어려우니, 키값만 바꿀 수 있게 미리 상수처리 할 것.
-> 키값이 이렇게 쓰는 게 맞나? (확인 필요)🚨
while문과 do while문의 차이
while 문은 조건을 먼저 체크한다. '선조건체크'
do while 문은 일단 진행하고, 조건을 체크한다. '일단 한다'
즉, do (실행하고), while (더 진행할지 생각한다) 고 나누어 생각해도 좋다.
그리고 do while문에서 do 뒤에는 '{ 중괄호를 열고, while뒤에는 중괄호를 열지 않는다.

Any는 아무 자료형이나 받는 것.
-> Any가 변수인가? 뭐라고 부르는지 확인해봐야겠음.🚨
when 은
조건이 T/F가 아니라 여러가지 일 때 활용한다.
continue vs break vs return
continue - 조건문 이외의 값을 제외하고 반복한다.
break - 무한루프에서 빠져나온다.
return - 함수 자체를 탈출한다.
변수를 할당한다의 개념 한 번 더 공부해야할 것 같다.🚨 지금 쓰려고 했는데 기억 안남 이슈..
오늘 내가 쓴 코드에 에러가 있었다
⬇️
이 에러의 원인은?
var userInputNumber 함수가 when문 앞에서 이미 할당되었어야 한다고 한다.
사실 이해를 잘 못했다. 어떤 함수는 안에 var 이 있었던 것 같은데 이 부분은 코드들을 좀 많이 보면서 익숙해져야 할 것 같다. 🚨
Range와 반복은 긴밀하다.
Scope = 범위 ex) 1번째줄 코드부터 19번째 줄까지
Control Flow = 흐름 제어

[계산기 만들기]
난 개인적으로 점심시간 끝날 때쯤 시작되는 미션이 제일 중요한 것 같다.
우선, 계산기 만들면서 사용해보려고 시도중인 when문
조건은 여러 개인데, 여러 조건의 값들이 바로 변수에 꽂히는 상황에서 사용하면 좋다.
계산기 만들 때,
'숫자나 연산자가 아닌 다른 것이 입력되었을 때 오류 메시지를 출력'하는 단계에서 위와 같은 에러가 났다. (빨간 줄 표시된 부분)
⬇️

해당 부분은 자료형이 매치가 안되는 상황이었다. type 매치가 안된다는 뜻.
type 관련해서 좀 봐야할 것 같다. 🚨
연애 시뮬레이션 게임 만들기
스무고개 게임 다시 만들기
계산기 만들기
for, while, do while, if, else, if else, boolean 등 사용된 코드 예시 외우기
손코딩으로 디스코드에 공유된 다른 분들 코드 작성해보기
-> 논리흐름 따라가보기 위해
역기획서 작성하기
toIntorNull , readln, list of, (?:) 등
특히, 널세이프...? 완전 모르겠음. 근데 많이 나옴...;;
그냥 다 약함... 말하는 고구마임... 공부하자!!😨
정리 잘 하셨네요! 🙌
읽다가 궁금했던 부분 몇 가지 정리해봤어요 😊
1.
toIntOrNull()이 뭘까?→ 문자열을
Int로 바꾸려 시도하고, 실패하면null을 반환하는 Kotlin 함수예요.이름 자체도 그대로 읽을 수 있어요: "to Int or Null" (인트로 바꾸거나, 못 바꾸면 null)
📌 cf.
camelCase(카멜케이스)낙타 등처럼 중간에 대문자로 단어를 구분하는 표기법!
예:
userInputNumber,isLoggedIn2.
Any는 자료형(type)일까?→ 네, Kotlin에서
Any는Int,String처럼 자료형입니다.좀 더 정확히는 모든 클래스의 최상위 타입(Supertype) 이에요.
즉,
String,Int,List, 사용자 정의 클래스 전부 다Any로 처리 가능하다는 뜻!3. 널세이프(null-safe)란?
→
null로 인한 오류(예:NullPointerException)를 사전에 방지하기 위한 Kotlin의 언어적 장치예요.?String?)?.a?.length)?:!!Java에서 자주 발생하던 null 문제를 Kotlin은 문법 수준에서 막아줍니다. 👍
4.
userInputNumber에러 난 이유→
when의 조건식에서userInputNumber를 사용했는데, 그 위에서 선언이 안 되어 있어서예요.코드는 위에서부터 순차적으로 실행되기 때문에,
userInputNumber는when보다 먼저 선언되어 있어야 해요!