혼자 공부하는 자바

[혼공자] Ch1. 자바 시작하기

습관그뤠잇 2021. 2. 1. 22:04

혼자 공부하는 자바)

1-1. 프로그래밍 언어와 자바 💻

  • 기계어: 컴퓨터(운영체제)가 이해하고 실행할 수 있는 0과 1로 이루어진 이진 코드.

  • 소스파일: 프로그래밍 언어로 작성한 파일

    • 컴파일compile: 소스파일은 컴퓨터가 바로 이해할 수 없기 때문에, 소스파일을 기계어로 번역하는 것
  • 프로그래밍 언어: 자바, C, C++ ,C#, 파이썬 등. 사람의 언어와 기계어의 다리 역할.

    • 웹 애플리케이션 구축용으로는 자바가 최고!
  • 객체 지향 프로그래밍OOP(Object-Oriented Programming): 객체(부품)를 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법. 자바는 객체 지향 프로그래밍을 위한 최적의 언어!

  • JDK 자바개발도구(Java Development Kit): 자바로 프로그램을 개발할 수 있는 실행 환경(JVM)과 개발도구(컴파일러) 등을 제공.

  • 환경변수: 운영체제가 실행하는 데 필요한 정보를 제공해주는 변수. JDK를 설치한 후 명령 라인(명령 프롬프트, 터미널)에서 컴파일러(javac)와 실행(java) 명령어를 사용하려면 JAVA_HOME 환경 변수를 등록하고 Path 환경 변수를 수정하는 것이 좋음.

  • Java SE 11. 0. 2 (LTS)

    • 11:주버전, 0: 개선버전, 2: 업데이트 버전, (LTS): 장기 지원 서비스 버전

1-2. 이클립스 개발 환경 구축

  • 통합개발환경IDE: Integrated Development Environment: 프로젝트 생성, 자동 코드 완성, 디버깅 등 개발에 필요한 여러 기능을 통합적으로 제공해주는 툴. 이클립스는 무료인 오픈 소스!
    • 이클립스는 기본적으로 자바 프로그램을 개발 할 수 있도록 구성되어 있지만, 개발자가 추가적으로 플러그인을 설치하면 웹 애플리케이션 개발, C, C++ 애플리케이션 개발 등 다양한 개발환경 구축이 가능함
  • (이클립스 설치법 및 기본 안내)

1-3. 자바 프로그램 개발 과정

  • 자바 프로그램 개발: 우선 파일확장명이 .java인 텍스트 파일 생성 ➡️ 자바 언어로 코드 작성 ➡️ 이 자바 소스파일을 컴파일러인 javac 명령어로 컴파일 ➡️ 컴파일 성공시 .class 바이트 코드파일 생성 ➡️ 바이트 코드 파일은 완전한 기계어는 아니므로 바로 실행할 수 있는 파일X
  • So, 바이트 코드 파일을 완전한 기계어로 번역하여 실행하려면 java 명령어를 사용해야 함
  •  
  • 자바 프로그램은 완전한 기계어가 아닌 바이트 코드 파일(.class)로 구성됨
  • 본 파일은 운영체제에서 바로 실행할 수 없고, 자바가상기계JVM라는 번역기가 필요
    • 자바 가상기계는 기계란 표현이 있긴 하지만 하드웨어가 아니고, JDK에 포함된 소프트웨어!
    • JVM: 바이트 코드 파일을 완전한 기계어로 번역하고 실행하는 역할. java 명령어에 의해 구동
  • JVM을 사용하는 이유: 바이트 코드 파일을 다양한 운영체제에서 수정하지 않고 사용할 수 있도록 하기 위함. (윈도우든 리눅스든!) 그래서 개발자는 운영체제와 상관없이 자바 프로그램을 개발할 수 있음
  • 이클립스에서 .java 파일에 작성을 완료한 후 소스 파일을 저장하면 자동으로 컴파일됨!

[프로그램 소스분석]

  1. 'sec01.exam01'과 같은 패키지 선언

    • package sec03.exam01;
  2. 'Hello'와 같은 클래스 선언 public class { }

    • public class : 공개 클래스라는 뜻.
    • Hello: 클래스명. 클래스 이름은 소스파일명과 동일해야 함(대소문자까지 일치)

    클래스class: 필드 또는 메소드를 포함하는 블록

    메소드method: 어떤 일을 처리하는 실행문을 모아놓은 블록

    • javac 명령어로 컴파일하면 클래스 이름에 .class가 붙어 바이트 코드 파일이 생성됨
    • 일반적으로 Hello.class를 헬로 바이트 코드파일이라고 부르지 않고 'Hello 클래스'라고 부름

 

  1. main(메소드 이름) 메소드 선언
  • java 명령어로 바이트 코드파일을 실행하면 제일 먼저 main() 메소드를 찾아 블록 내부를 실행함

    ➡️ main() 메소드를 프로그램 실행 진입점entry point 이라고 부름

 

  • 주석달기

  • //여기부터 라인끝까지 주석처리

  • /* 요 사이에 있는 내용 다 주석처리(여러줄 가능) */

  • /****** 요 사이에 있는 내용 다 주석처리. 주로 javadoc 명령어로 API 도큐먼트를 생성하는데 사용 */

  • 모든 실행문 끝에는 세미콜론(;)을 반드시 붙여서 끝을 나타내야함

  • 실행문: 변수 선언, 값 저장, 메소드 호출 등에 해당하는 코드.