[Java] Java의 기본 개요

Geehyun(장지현)·2024년 1월 22일
0

Java

목록 보기
1/12
post-thumbnail

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의 템플릿 문자열 처럼 해당 형식을 이용해 자유자재로 작업할 수 있습니다.

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

콘솔 출력

참고

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

profile
개발자를 꿈꾸는 병아리 (블로그 이전 준비중 입니다.)

0개의 댓글