김영한 자바 입문 | 섹션 1. Hello World

heige·2023년 12월 25일

Java

목록 보기
6/21
post-thumbnail

김영한 자바 로드맵 따라갈 예정.
입문 강의에서는 필요한 내용 위주로 골라들을 것이다. 최대한 빠르게 훑는 느낌으로!탄탄하게 자바 실력을 쌓아가고 싶다.
IDE는 편의성을 위해 기존 사용한 Eclipse 대신 IntelliJ를 사용한다.
강의 수강한 것 기록하는 형식으로 남기려고 한다.

자바란?

자바 표준 스펙

자바 표준 스펙과 구현


자바는 표준 스펙과 구현으로 나눌 수 있다.

  • 자바 표준 스펙
    • 자바는 이렇게 만들어야 한다는 설계도 및 문서
    • 이 표준 스펙 기반으로 여러 회사에서 자바를 만든다.
    • 자바 표준 스펙은 자바 커뮤니티 프로세스(JCP) 통해 관리됨
  • 다양한 자바 구현
    • 여러 회사에서 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발한다.
    • 각각 장단점이 있다. 예를 들어 Amazon Corretto는 AWS에 최적화 되어 있다.
    • 각 회사들은 대부분 윈도우, MAC, 리눅스 같이 다양한 OS에서 작동하는 버전의 자바도 함께 제공한다.

변경의 용이

  • 자바 구현들은 모두 표준 스펙에 맞도록 개발되었기 때문에 오라클 Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 대부분 문제 없이 작동한다.

컴파일과 실행


자바 프로그램은 컴파일과 실행 단계를 거친다.

  • Hello.java와 같은 자바 소스코드를 작성한다.
  • 자바 컴파일러를 사용해서 소스 코드를 컴파일 한다.
    • 자바가 제공하는 javac라는 프로그램을 사용한다.
    • .java ➡️ .class 파일이 생성된다.
    • 자바 소스 코드를 바이트코드로 변환하며 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화 하고, 문법 오류도 검출한다.
  • 자바 프로그램을 실행한다.
    • 자바가 제공하는 java라는 프로그램을 사용한다.
    • 자바 가상 머신(JVM)이 실행되면서 프로그램이 작동한다.

IDE와 자바

인텔리제이를 통한 자바 설치 관리

  • 인텔리제이는 내부에 자바를 편리하게 설치하고 관리하는 기능을 제공한다.

인텔

  • 컴파일
    • 자바 코드를 컴파일 하려면 javac라는 프로그램을 직접 사용해야 하는데, 인텔리제이에서는 이 과정을 자동으로 처리
      • ex) javac Hello.java
    • 인텔리제이 화면에서 프로젝트에 있는 out폴더에 가보면 컴파일된 .class 파일이 있는 것을 확인할 수 있다.
  • 실행
    • 자바를 실행하려면 java라는 프로그램을 사용해야 한다. 이때 컴파일된 .class 파일을 지정해주면 된다.
    • ex) java Hello : 참고로 확장자는 제외
  • 인텔리제이에서 자바 코드 실행하면 컴파일과 실행 모두 한 번에 처리.

자바 운영체제 독립성

일반 프로그램

  • 일반 프로그램은 다른 운영체제에서 실행할 수 없다.
  • 윈도우 프로그램은 Mac, 리눅스에서 작동하지 않음(윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문에)

자바 프로그램

  • 자바 프로그램은 자바가 설치된 모든 OS에서 실행 가능하다.
  • 특정 OS에 맞춰서 개발하지 않아도 된다. 호환성 문제는 자바가 해결! Hello.class와 같이 컴파일된 자바 파일은 모든 자바 환경에서 실행할 수 있다.

자바 개발과 운영 환경

  • 개발 시 자바와 서버에서 실행할 때 다른 자바를 사용할 수 있다.
  • 서버는 주로 리눅스 사용. 만약 AWS 사용한다면 Amazon Corretoo 자바를 AWS 리눅스 서버에 설치하면 된다.
  • 자바의 운영체제 독립성 덕분에 각각 환경에 맞춰 자바 설치하는 것이 가능!!
profile
웹 백엔드와 클라우드 정복을 위해 탄탄한 기반을 쌓아가고 있는 예비개발자입니다. 'IT You Up'은 'Eat You Up'이라는 표현에서 비롯되어, IT 지식을 끝까지 먹어치운다는 담고 있습니다.

0개의 댓글