GeehDev

[Java] Java의 기본 개요 본문

Study/Java

[Java] Java의 기본 개요

geehyun 2024. 9. 8. 22:49

Index

    반응형

    velog에서 이관해온 글


    Java의 특징

    프로그래밍 언어는 사람의 말에 얼마나 가까운지에 따라, 고급언어 > 어셈블리어 > 기계어로 구분 된다.

    • 고급언어 : 인간이 이해할 수 있는 구조로 컴퓨터가 수행해야할 작업을 정의한 언어
      ex ) C, C++, Java 등
    • 어셈블리어 : 고급언어와 기계어 사이의 언어로 기계어와 1:1로 대응되는 언어
    • 기계어 : 0, 1로 이루어진 2진데이터로 구성 된 컴퓨터가 직접 알아들을 수 있는 언어

    Java는 이 중 고급 언어에 속하며 플랫픔 독립성 특성을 갖는다.

    Java의 플랫폼 독립성

    윈도우 - exe / 맥 - app / 리눅스 - sh 처럼 각 운영체제에서만 실행가능한 성격을 플랫폼에 종속적이라고 합니다.

    Java는 동일한 class파일로 윈도우/맥/리눅스 등 어떤 환경에서도 실행 가능하다는 특성을 갖으며 이를 플랫폼에 대해 독립성 갖는다고 합니다.
    Java의 이러한 특성은 JVM으로 인해 자바로 작성된 코드를 어떤 환경에서도 JVM이 각 플랫폼에 맞는 형태로 해석해주기 떄문입니다.

    • JVM : Java Virtual Machine, 말 그대로 Java로 작성된 코드를 컴퓨터가 이해할 수 있는 기계어로 변환해주는 도구 이다.
    • JRE : Java Runtime Enviornment, Java로 작성된 프로그램이 실행가능한 환경을 말합니다.
    • JDK : Java Development Kit으로 자바를 이용해 프로그램을 개발하는데 필요한 도구를 모아둔 집단을 의미합니다.

    위 3가지의 개념은 JDKJREJVM 의 포함관계를 갖습니다.

    따라서 우리는 모두 포함하고 있는 JDK만 다운로드 받으면 됩니다!

    Java 기본구조 및 문법

    Java 소스 코드 실행과정

    1. .java 소스파일 생성
    2. .class 바이트 코드 파일 생성 (.java 파일 저장 시 자동으로 컴파일)
    3. JVM이 메모리 할당
    4. main() 메서드 실행

    기본구조

    package 패키지;
    
    public class 클래스명 {
        public static void main(String[] args) {
            내용~~;
        }
    }

    패키지 선언부

    package 패기지;

    주석을 제외하고 패키지 선언부가 가장 먼저 와야합니다.
    다만, 디폴트 패키지를 사용할 경우 패키지 선언은 생략됩니다.

    패키지 내 디렉토리 구분은 .(점)으로 구분합니다.

    💡 패키지를 사용하는 이유

    • 디렉토리 구조를 표현하고 해당 파일의 위치를 표시해주는 역할
    • 소스파일 이름이 같은 파일이 있더라도, 패키지로 분리되어있으면 충돌하지 않습니다

    클래스 선언부

    public class 클래스명 {
        public static void main(String[] args) {
            내용~~;
        }
    }

    클래스 선언부에서 public의 경우 접근제한자로 1개의 소스파일에서는 최대 1개의 public을 사용할 수 있습니다.
    해당 public을 사요하는 클래스의 경우 클래스명이 소스파일 명과 동일해야합니다.

    클래스 내부 구조에는, 필드, 메서드, 생성자, 이너 클래스만 올 수 있습니다.

    💡 접근제한자를 생략하면?
    위 public의 경우 한 파일에 한 클래스에만 사용할 수 있습니다. 접근제한자를 지정안한 클래스의 경우는 default라는 접근제한자로 지정됩니다.

    클래스명 규칙

    • 첫 글자는 반드시 영문, $(달러기호), _(언더 스코어)
    • 첫 글자는 대문자 표기 (권장)
    • public 클래스명은 반드시 소스코드명과 동일해야합니다.

    main()메서드

    public static void main(String[] args) {
        내용~~;
    }

    main()메서드의 경우 프로그래밍 실행 시 가장 먼저 실행되는 메서드로, Java 프로그래밍 시 무조건 포함해줘야하는 메서드 입니다.

    기본 문법 - Console 출력하기

    기본적인 콘솔 출력방법 입니다.

    System.out.print("한줄에 주르르륵 출력");
    System.out.println("한줄에 출력 후 줄넘김");
    System.out.printf("형식지정코드", 인자, 인자, 인자);
    • System.out.print : 기본 출력 방법으로 한줄에 쥬르르륵 입력하는 방법입니다.
    • System.out.println : 기본 출력 방법에서 입력된 내용 출력 후 줄넘김하는 방식 입니다.
    • System.out.printf : Format(포맷)을 지정해서 출력하는 방식 입니다.

    포맷터 형식 지정

    포맷터 형식은 아래 내용을 기초로 %로 시작하여 여러개의 형식이 올 수 있습니다.
    포맷터 형식 안에 \n을 넣어서 줄넘김도 가능하며 JS의 템플릿 문자열 처럼 해당 형식을 이용해 자유자재로 작업할 수 있습니다.

     

    형식 내용
    %d 10진수 표현 형식
    %o 8진수 표현 형식
    %x 16진수 표현 형식
    %s 문자열
    %f 소수점 형식
    %전체차리수.소수점자리수f\n 전체자리는 소수점을 포함한 자리수 입니다. 들어간 값보다 작은값으로 지정해버리면 시스템이 알아서 전체자리수를 조정해 출력됩니다.
    \n 줄넘김

     

     

    콘솔 출력

    참고

    Do it! 진짜 개발자가 되는 Java 프로그램 입문서 자바 완전 정복 - 김동형
    위 책을 공부하며 작성하고 있습니다!

    728x90