본문 바로가기

공부/TIL

2023.10.12 오늘 배운 것

TIL에서는 공부하면서 생각했던 것에 대해 적을 예정이다. 아직 어떤 방식으로 TIL을 적어야 될지 감이 오지 않아 여러방식으로 작성해볼 생각.

(내가 깔끔하게 정리를 잘하는 편이 아니라서 문법들을 정리하는 방식으로는 안쓸 것 같다. 문법정리는 책을 찾아보거나, 다른 참고할만한 것들이 많아 굳이 내 TIL에 적지 않고, 예제풀이를 하며 리뷰하면서 내가 중요하게 생각하는 포인트를 적을 예정) 

 

자바 수업을 오랜만에 들었다. 기존에 배웠던 것이 있어 개념공부에는 어려움이 없었다.

하지만 역시 실제 코드를 작성하려니 문법이 낯설어졌다. 다시 손에 익혀질 때까지 예제들을 많이 풀면서 많이 쓰이는 문법들을 숙련시켜야겠다.

 

기본형 변수와 참조형 변수의 차이를 알았다.

기본형 변수는 Stack에 메모리가 할당이 되고, 참조형 변수는 Stack에는 메모리의 주소가 저장되고, 값은 Heap영역에 저장된다. 이를 통해 Heap영역에서 동적으로 메모리를 할당하여 저장한다. 이래서 String은 내가 원하는 만큼 길이를 늘릴 수 있지않을까? 라고생각햇다.

 

아직 손에 익지 않는 기초 문법에는 Scanner를 이용하여 입/출력을 받는 방식이다. Scanner 속의 메소드들이 뭐가 있는지에 대해 좀더 공부해서 입/출력을 더 자유자재로 할 수 있도록 더 뜯어볼것.

 

형변환은 기본적으로 작은 데이터형에서 큰 데이터형으로는 자연스럽게 된다.

byte(1) → short(2) → int(4) → long(8) → float(4) → double(8)의 순서로 데이터가 커지니 형변환은 작은 데이터형이 큰 데이터형으로는 자연스럽게 형변환 하자. 예를들어

byte byteNumber = 10; // byte데이터형은 1바이트

int intNumber = byteNumber; // int 데이터형은 4바이트

4바이트인 int형에 1바이트인 byte형을 집어넣을때는 별다른 문법이 없이 그냥 넣어주면 초기화가 된다.

 

문제는 역방향으로 형변환을 할 때.

이때는 명시적 형변환을 해줘야한다. 컴파일을 할 때 컴파일러가 임의로 데이터값을 짜를 수 없으니 개발자가 어디까지 값을 짜르라고 선언을 해줘야 한다는것. 이때 하는 것이 명시적 형변환.

int intNumber=0;
double doubleNumber = 4.8;

intNumber = (int)doubleNumber;

System.out.println(intNumber);

과같이 하면 실수형인 doubleNumber의 소숫점은 버려지고 결과값은 4가 나온다.

여기서 과제를 한번 했다. 과제는 과제탭에서 서술.

 

'공부 > TIL' 카테고리의 다른 글

23.10.18  (0) 2023.10.18
23.10.17  (1) 2023.10.17
23.10.14(2)  (3) 2023.10.14
23.10.14  (1) 2023.10.14
23.10.13  (0) 2023.10.14