오늘 한 일

  • 이번에 구입한 DO it 자바 책의 강의가 인프런에 무료로 공개되어있어서 공부하기 시작했다. 책의 숙련자용 15일 일정표에 따라서 완강하는 것이 목표이다. 앞부분 내용은 기초여서 중간중간 넘기면서 들었는데 잊고 있었던 컴퓨터 기초 내용들을 한번씩 볼 수 있어서 나쁘지 않았다.
    • package(소문자) 하에 class(대문자) 생성하기
    • Compile된 파일은 bin 폴더 내에 class확장자로 존재
    • Compile 언어 Script 언어
      컴파일 후 결과물 실행 실행되면서 번역 (실행파일 x)
      주로 compile error runtime error
    • 진수 예시 (10)
      2진수 0B1010 or 0b1010
      8진수 012
      16진후 0XA or 0xA
    • 2의 보수(complement) 보수는 더해서 보충해주는 수를 의미한다. 예를 들어 1에 대한 10의 보수는 9, 4에 대한 15의 보수는 11이다. 컴퓨터는 음수 표현을 위해 2의 보수를 사용한다. 크기가 1비트인 메모리가 있다고 하자. 숫자 1과 1을 더했을 때 그 합은 10~(2)~이 되는데 크기가 1비트이므로 앞자리가 truncate되어 0만이 남는다. 이와 같이 더했을 때 다음 자리에 1이 넘어가고 각 자리에는 0만 남게게 만드는 과정이 반복되면, 최종적으로는 가장 높은 자리 숫자가 truncate되어 결과물이 0이 된다. 2의 보수법은 이렇게 더했을 때 0이 되게 만드는 숫자를 그 수의 음수 표현법을 뜻한다.
    • 상수 자료형 앞에 final을 붙여서 선언
    • 리터럴 리터럴은 상수, 변수에 저장되는 값 자체를 뜻한다. ex) 숫자 리터럴, 문자열 리터럴, … 리터럴 값은 특정 메모리 공간인 상수 풀(Constant pool)에 저장된다. 필요한 경우 상수 풀에서 가져와 상수, 변수에서 사용하며, 상수 풀 저장시 정수는 int로 실수를 double로 저장하므로 long, float으로 저장해야될 경우 식별자(L, l, F, f) 명시가 필요하다.
    • UTF-16 Java는 UTF-16(Unicode)을 사용한다. Unicode 인코딩은 기본적으로 ASCII 인코딩으로 포함한다.
    • var (local variable type inference) Java 10부터 자료형 없이 var 키워드로 변수를 선언할 수 있다. 이는 local variable type inference로 대입된 값으로 데이터 타입을 추론해 결정해주는 방식이므로, js와는 달리 한번 값을 넣으면 다른 타입의 값을 넣을 수 없다. 또한 class의 멤버 변수는 var 키워드로 변수를 선언할 수 없다.
    • 형변환(conversion) 묵시적(Implicit) 형변환 : 크기가 작은 type => 큰 type 에서 사용 (ex. byte => int) 명시적(Explicit) 형변환 : 크기가 작은 type <= 큰 type 에서 사용, 손실 발생, casting 작성 필요
    • 연산자 비트 연산자는 정수에만 사용 가능 비트 연산자도 복합 대입 연산이 가능하다. ex) «=, »=, &=, |=, ^=, …
    • 단락 회로 평가 (Short Circuit Evaluation) 논리식에서 앞의 조건에서 이미 전체의 결과가 확정되면 뒤의 식은 평가하지 않는다. ex) True || Something, False && Something
    • switch Java 7부터 switch case에 문자열(String) 사용이 가능하다.

참조
Do it! 자바 프로그래밍 입문: https://www.inflearn.com/course/자바-프로그래밍-입문/dashboard