Java 터미널, 컴파일, 클래스

습토리·2025년 2월 12일
0

Java

목록 보기
5/32

Java 기초 개념 정리: 터미널, 컴파일, 클래스

Java을 배우면서 처음 접하게 되는 개념들이 많습니다. 특히 Java를 공부할 때 "터미널", "컴파일", "클래스" 같은 개념을 제대로 이해하는 것이 중요합니다.


1️⃣ 터미널(Terminal) 이란?

🔹 터미널이란?

터미널은 컴퓨터와 사용자가 텍스트 기반으로 소통하는 창입니다. 명령어를 입력하여 파일을 실행하거나 관리할 수 있습니다.

운영체제별 터미널 실행 방법

  • Windows: 명령 프롬프트(CMD), PowerShell, Git Bash
  • Mac/Linux: 터미널(Terminal)

명령 프롬프트(CMD) VS 터미널
제 윈도우 컴퓨터에는 명령 프롬프트(CMD)와 터미널이 둘 다 있어 혼동이 되었는데요.
명령 프롬프트(CMD)와 터미널은 비슷하지만 차이가 있습니다.

1. 명령 프롬프트 (Command Prompt, CMD)

  • Windows에 기본적으로 포함된 명령줄 인터페이스입니다.
  • 오래된 도스(DOS) 기반 명령을 주로 실행합니다.
  • 명령어 예시:
    dir   (현재 폴더의 파일 목록 보기)
    cd    (폴더 이동)
    ipconfig   (네트워크 정보 확인)

2. 터미널 (Windows Terminal)

  • 최신 Windows 10과 11에서 제공하는 새로운 터미널 앱입니다.
  • 여러 종류의 셸(명령 실행 환경)을 하나의 창에서 실행할 수 있습니다.
  • 기본적으로 Windows PowerShell, 명령 프롬프트(CMD), Azure Cloud Shell 등을 지원합니다.
  • 여러 탭을 열어서 다양한 환경에서 작업할 수 있습니다.

결론: 터미널은 여러 명령줄 환경을 실행할 수 있는 "컨테이너" 같은 역할을 하고, 명령 프롬프트(CMD)는 그 안에서 실행할 수 있는 하나의 셸입니다.
👉 터미널을 사용하면 CMD뿐만 아니라 PowerShell이나 WSL(리눅스 서브시스템)도 함께 사용할 수 있어 더 유용합니다.

터미널 사용방법

터미널에서 명령어를 입력한 후 Enter 키를 누르면 실행됩니다.
실행에 성공하면, 터미널에 아무 오류 메시지도 표시되지 않습니다. 그래서 확인하려면 따로 현 폴더 목록을 출력(ls)한다는 등 추가 확인이 필요합니다.
만약 오류가 발생하면, 다음 줄에 에러 메시지가 출력되며 오류의 원인을 확인할 수 있습니다.

🔹 터미널에서 기본 명령어

명령어설명유래
ls (Linux/Mac) / dir (Windows)현재 폴더에 있는 파일 목록 보기list, directory
cd 폴더명특정 폴더로 이동change directory (디렉토리=폴더)
pwd현재 작업 중인 폴더 경로 확인print working directory (윈도우 cmd에서는 cd 단독 입력시 폴더 경로 확인 가능)
javac 파일이름.javaJava 파일을 컴파일Java Compiler
java 클래스이름Java 프로그램 실행

2️⃣ 컴파일(Compilation) 이란?

🔹 컴파일이란?

컴파일은 인간이 읽을 수 있는 프로그래밍 언어를 컴퓨터가 이해할 수 있는 코드로 변환하는 과정입니다. Java에서는 javac(Java Compiler)를 사용하여 .java 파일을 바이트코드(.class) 파일로 변환합니다.

🔹 Java 컴파일 과정

  1. Java 소스 코드 작성 (.java 파일)
  2. 컴파일 (javac 파일이름.java) → .class 파일 생성
  3. 실행 (java 클래스이름) → 프로그램 실행

✅ 예제 코드 및 실행 과정

1️⃣ Hello.java 파일 작성

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

2️⃣ 컴파일 (소스 코드 → 바이트코드 변환)

javac Hello.java

결과: Hello.class 파일이 생성됨.

3️⃣ 실행 (바이트코드 실행)

java Hello

출력: Hello, Java!

🚀 컴파일 후 실행할 때 .class 확장자는 입력하지 않습니다. java Hello.class ❌ → java Hello


3️⃣ Java의 class 개념

🔹 Java는 클래스 기반 언어

Java에서는 모든 코드가 반드시 클래스(class) 안에 있어야 합니다. 즉, Java 코드를 작성하려면 반드시 public class 클래스이름 형태로 선언해야 합니다.

✅ Java 클래스 예제

public class Animal {
    String name;
    
    public Animal(String name) {
        this.name = name;
    }
    
    public void speak() {
        System.out.println(name + "이(가) 소리를 냅니다.");
    }
}

클래스를 기반으로 객체를 생성하고, 해당 객체의 메서드를 실행할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        Animal dog = new Animal("강아지");
        dog.speak();  // 출력: 강아지가 소리를 냅니다.
    }
}

🔹 Java와 JavaScript의 class 차이점

Java와 JavaScript 모두 class 키워드를 사용하지만, 개념적으로 차이가 있습니다.

비교 항목JavaJavaScript
언어 유형클래스 기반 객체지향프로토타입 기반 객체지향
클래스 필수 여부필수 (모든 코드가 클래스 안에 있어야 함)선택 사항 (ES6 이전에는 class 없이도 객체 생성 가능)
실행 방식컴파일 후 실행 (javac)인터프리터 방식 (바로 실행 가능)

Java는 언어 자체가 클래스 기반이지만,
Node.js는 자바스크립트 엔진(V8)을 기반으로 서버 측에서 실행되도록 만든 환경이에요.
즉, JavaScript를 웹 브라우저가 아닌 곳에서도 실행할 수 있도록 만든 것이 Node.js입니다.


✅ 정리

터미널: 명령어를 입력하여 파일 실행 및 관리하는 도구
컴파일: .java.class 변환 과정 (javac 사용)
Java의 클래스: 코드가 반드시 클래스 안에 존재해야 함
Java와 JavaScript의 클래스 차이: Java는 클래스 기반, JavaScript는 프로토타입 기반

profile
재미난 삶을 살다

0개의 댓글