01장 안녕, 세상!

Yuri Lee·2021년 5월 5일
0

점프 투 자바

목록 보기
1/3

딜레마

  • 자바가 처음에 어렵게 느껴지는 이유는 이렇게 가장 간단한 예제를 실행하려고 해도 알아야 할 것이, 또는 모르고 일단 지나쳐야 할 것이 너무나도 많기 때문일 것이다.
    • 나는 처음 코딩을 접했을 때 자바로 접했다. 그때 마주친 자바는 정말 내 인생에 좌절감을 선사했다. ㅋㅋㅋㅋ 하나도 모르겠어서 그때 이후로 코딩이 무서워졌었다. 😂
    • 하지만 express 프레임워크를 사용하며 웹 사이트를 만들어 본 이후 웹 개발에 흥미가 생겼다. 여전히 자바는 싫어했고...
    • 운명의 장난인가? 공교롭게도 현재 일하고 있는 팀 내에서는 스프링부트를 사용하여 개발을 하고 있다. 현 시점에서 나는 자바라는 언어보다 스프링 부트 프레임워크에 대해 조금 더 알고 있다고 생각한다.
    • 처음 마주친 자바에 좌절하고 편견이 생겨버려서 난 아직도 자바가 무섭지만, 더이상 도망치고 싶지 않다. 자존심이 상한다... 자바스크립트 공부와 함께 틈틈히 자바도 공부하자!

JDK 설치

  • 자바 프로그래밍을 하기 위해 필수적으로 필요한 JDK 를 먼저 설치 해 보도록 하자.
  • JDK는 Java Development Kit의 약자이다. 자바 프로그램을 만들기 위해서는 누구나 이것을 설치해야만 한다.

자바소스와 컴파일

  • mac 은 아래의 경로에 JDK가 설치된다.
cd /Library/Java/JavaVirtualMachines

  • jdk가 설치된 디렉토리의 bin이라는 하위 디렉토리에 javac.exe와 java.exe 파일을 확인할 수 있다.
  • 혹시라도 java.exe만 있고 javac.exe가 없다면 jdk가 아닌 jre를 설치한 것이므로 다시 jdk를 다운로드 받아야 한다.
  • javac는 java compiler의 약어이다. 즉 자바파일을 컴파일할 때 사용하는 것이 바로 javac.exe 파일이다. 컴파일이란 프로그래머가 작성한 소스코드를 컴퓨터가 이해할 수 있는 말(기계어)로 바꾸는 행위이다.

  1. 소스코드(MyPrograme.java)를 작성한다.
  2. 컴파일러(Compiler)는 자바 소스코드를 이용하여 클래스 파일(MyProgram.class)을 생성한다. 컴파일 된 클래스 파일은 Java VM(Java Virtual Machine)이 인식할 수 있는 바이너리 파일이다.
  3. Java VM(JVM)은 클래스 파일의 바이너리 코드를 해석하여 프로그램을 수행한다.
  4. MyProgram 수행 결과가 컴퓨터에 반영된다.
  • c, c++등의 언어에서 만들어진 실행파일은 JVM같은 중간단계를 거치지 않기 때문에 빠른 속도로 수행된다. 하지만 운영체제마다 별도의 실행파일을 작성해야 한다는 단점이 있다. 반대로 자바는 JVM이라는 중간단계가 있으므로 C등의 언어보다 속도가 느리다. 하지만 한번 작성한 파일은 어떤 OS에서라도 사용할 수 있다는 장점이 있다.
    • 왜 c, c++이 속도가 빠르고 Java 의 속도가 느린지 이제야 알게 되었다. 이런 이유가 있었구나 🤭

따라 해 보기

  1. HelloWorld.java 파일을 만든다.
class HelloWorld {

}
  1. terminal 에서 다음의 명령어를 실행한다.
yuri@apples-MacBook-Pro Java % ls
HelloWorld.java
yuri@apples-MacBook-Pro Java % javac HelloWorld.java 
yuri@apples-MacBook-Pro Java % ls
HelloWorld.class	HelloWorld.java
yuri@apples-MacBook-Pro Java % java HelloWorld 
Error: Main method not found in class HelloWorld, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application
  • 자바 컴파일을 하면 HelloWorld.class 파일이 생성된 것을 확인 할 수 있다.
  • 클래스를 실행시키는 명령어는 java.exe이다.
  • 위의 오류는 오류는 main 메소드가 없다는 내용이다.

인텔리제이

  • src 폴더는 .java 파일들이 저장되는 경로이며 bin 폴더는 .class 파일들이 저장되는 경로이다.

  • public : 메소드의 접근제어자, public은 누구나 이 메소드에 접근할 수 있다는 의미
  • static : 메소드에 static 이 지정되어 있는 경우 이 메소드는 인스턴스 생성없이 실행 할 수 있음을 의미
  • void : 메소드의 리턴값이 없음(void: 사전적으로 "텅 빈" 이라는 뜻)을 의미
  • String : 문자열을 나타내는 자바의 자료형
  • args[] : String 자료형에 대한 변수명으로 args 뒤에 []가 있으므로 한 개가 아닌 여러개의 값으로 이루어진 배열임을 의미
  • System.out.println : 표준출력으로 데이터를 보내는 자바의 내장 메소드로 println 메소드로 들어오는 문자열 값을 화면에 출력한다.

https://wikidocs.net/book/31

profile
Step by step goes a long way ✨

0개의 댓글