SSAFY에서 전공자반을 가기위해 JAVA를 미리 공부해놓으려고 한다.
아무래도 한국에서는 파이썬 보다는 JAVA 레거시가 상당하기 때문에 무조건 전공자반에 가고 싶다....
SSAFY는 1월 첫 째주에 시작하게 될 것이고 분반을 위해 시험을 본다고 알고 있다.
꼭 전공자반을 가야하기 때문에 JAVA를 공부하려고 한다.
내가 독학을 위해 고른 책은 혼자 공부하는 자바이고 나름 독학책으로 유명한 책이라서 골랐다.
오늘은 Chapter 1~3까지 공부를 했고 이번 주 안에 한 번 정독하는 것이 목표이다.
** 공부하면서 필요한 개념들 위주로 정리할 예정이다.
프로그래밍 언어로 작성한 파일을 소스파일이라고 한다.
소스파일은 컴퓨터가 바로 이해할 수 없기 때문에 컴파일이라는 과정을 통해서 0과 1로 이루어진 기계어 파일로 번역한 후에 컴퓨터에서 사용합니다.
<자바가 가지고 있는 특징>
혼자공부하는자바에서는 이클립스를 이용한다.
<자바 개발과정>
소스 파일(.java) + javac 명령어 -> 바이트 코드 파일(.class) + java 명령어 -> 윈도우용 JVM / 리눅스용 JVM
<명령 라인에서 컴파일하고 실행하기>
명령 프롬프트 또는 터미널과 같은 명령 라인에서 javac와 java 명령어로 소스 파일을 직접 컴파일하고 실행해야 하는 경우가 있다.
컴파일 명령어 (JDK11 이후 버전)
javac -d [바이트코드 파일 저장 위치][소스 경로/module-info.java 소스 경로/*.java]
실행 명령어 (JDK11 이후 버전)
javac -p [바이트 코드 파일 저장 위치] -m 모듈/패키지이름...클래스이름
<주석 사용하기>
주석은 컴파일 과정에서 무시되고 실행문만 바이트 코드로 번역됩니다. 추후 다른 사람들에게 코드를 쉽게 설명해주기 위해 주석을 다는 것을 습관화해야한다.
//, /.../, /.../을 사용해서 주석을 달아주면 된다.
<실행문과 세미콜론>
실행문 끝에는 반드시 세미콜론(;)을 붙여서 실행문이 끝났음을 표시해주어야 하며, 그렇지 않으면 컴파일 에러가 발생합니다.
<변수>
변수는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름
자바의 변수는 다양한 타입의 값을 저장할 수 없다. 정수 타입 변수에는 정수값, 실수 타입 변수에는 실수값만 저장할 수 있다.
변수를 사용하기 위해서는 먼저 변수를 선언해야 한다.
그리고 변수를 선언하고 나서 초기화를 진행해줘야 변수가 존재할 수 있다.
<변수 사용 범위>
자바의 모든 변수는 중괄호{} 블록 내에서 선언되고 사용된다.
메소드 블록 내에서 선언된 변수를 로컬 변수라고 부르는데, 로컬 변수는 메소드 블록 내부에서만 사용되고 메소드 실행이 끝나면 메모리에서 자동으로 없어진다.
<기본 타입>
정수 타입 : byte, char(작은 따옴표), short, int, long
실수 타입 : float, double (float의 두배라서 double)
논리 타입 : boolean
String 타입 (큰 따옴표)
<타입 변환>
데이터 타입을 다른 데이터 타입으로 변환하는 것
ex) byte -> int, int -> byte
값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 자동 타입 변환이 일어난다.
byte < short < int < long < float < double
하지만, 반대 입장에서는 자동 타입 변환이 불가능하며 특정 부분만 변환할 수 있다.
ex) int a = 10;
double b = 5.5;
int result = int a + (int) b; // result에 15가 저장됨