자바의 정석 Chapter 1. 자바를 시작하기 전에
Page 2 ~ 14
자바의 정석을 시작하다.
나는 Java에 대해 잘 모른다. 잘 모른다기보다는 이해가 부족하다.
Java가 어떤 언어이고 왜 사용하는지 왜 백엔드에서 주로 쓰이는지 나는 코딩 테스트만 할 줄만 알았다.
그래서 Java에 대해 공부할 필요가 있다고 느꼈다.
자바의 정석 책을 그대로 적은 게 아니라. 내가 배운 것, 응용법에 대해 간단히 서술할 생각이다.
이에 따른 코딩 테스트도 있다면 동일한 문제가 아니라 비슷한 문제를 풀이를 할 예정이다.
자 그러면 시작해 보자!
자바 언어의 특징
나의 눈에 들어온건 다음과 같은 특징이 인상깊었다.
JVM , 객체지향언어 , 자동 메모리 관리
JVM
자바는 먼저 JVM ( Java Virtual Machine ) 을 사용한다.
기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서는 많은 노력이 필요했다고 한다.
하지만 자바에서는 JVM을 사용하여 JVM하고만 통신을 해서 명령을 전달하기 때문에 이에 대한 번거로움이 없어졌다고 한다.
그러면 JVM 이란 무엇일까?
이는 나중에 CS에서 별도로 공부를 할 예정이니 간단하게 '자바를 실행하기 위한 가상 기계'라고 할 수 있다.
OS에 종속 받지 않고 CPU가 Java를 인식 실행할 수 있게 해주는 가상 컴퓨터.
사실 나는 여태까지 Java 그거 구닥다리 언어 아니야! 라고 생각했다.
실제로 20년 된 언어이고 그것에 대해 잘 몰랐으니까. 하지만 이제는 자바가 재미있다.
객체지향언어
객치제향언어는 내가 코딩할 때 정말로 많이 들은 요소이다.
'객체지향' '객체지향언어' '객체지향 프로그래밍' 등등
Java는 객체지향 언어이다.
객체지향언어는 데이터와 절차를 하나의 덩어리로 묶어 생각한다.
나는 게임 개발을 할 때 C#을 사용했는데 이는 객체지향언어이다.
자동 메모리 관리 ( Garbage Collection )
GC 정말로 많이 들은 내용이다. Unity로 게임 개발을 할 때 메모리에 대해 정말로 신경을 많이 쓰고 있는데..
GC는 말 그대로 수동적이 아니라 자동적으로 메모리를 관리해 준다.
얼핏 보면 정말 좋은 기술 아니야?라고 보지만 그건 함정이다.
유니티 게임 개발을 할 때 유니티 GC는 상당히 구시대적이라서 GC가 발동하면 게임이 끊긴다.
0.1초의 순간이더라도 이는 사용자에게 영향을 주기 때문에 이를 해결하려고 나는 많은 노력을 기울였던 기억이 난다....
자바로 프로그램 작성하기
사실 이미 Intellij로 코딩테스트를 여러번 했기에 넘어가도록 하겠다.
하지만 실행 방법에 대해 간단히 서술한다.
Hello World!를 출력하기 위해서 다음과 같은 코드를 작성해야 한다.
`System.out.println("Hello World");`
실행 순서는 다음과 같다.
Hello.java 작성 -> javac.exe 컴파일 -> Hello.class 생성 -> java.exe 실행 -> "Hello, world" 출력
`public static void main (String[] args)`
부분은 'java.exe'에 의해 호출될 수 있도록 미리 약속된 부분이므로 똑같이 작성이 중요하다.
'자바의 정석' 카테고리의 다른 글
[자바의 정석]코딩테스트를 다시 시작하다 (0) | 2023.10.19 |
---|---|
[자바의 정석] Java를 공부하는 방법 (0) | 2023.10.15 |
Comment