[Java] 02. 자바로 프로그램 작성하기

2024. 1. 20. 02:56·Java/Basic

자바로 프로그램 작성하기


"Hello, world." 출력하기

  • 코드
class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, world."); // 화면에 글자를 출력
    }
}
  1. 위 코드를 editor를 통해 작성한 다음 Hello.java로 저장 (이 때, class의 이름 'Hello'가 대소문자까지 정확히 같아야 함)

  2. 자바 컴파일러를 통해 소소 코드(Hello.java)로 부터 클래스파일(Hello.class)를 생성

  3. 자바 인터프리터로 실행(java.exe)

> javac Hello.java
> java Hello
Hello, world

.java 코드 설명

  class 클래스 이름 {
      /*
      주석을 제외한 모든 코드는 클래스의 블럭{} 내에 작성해야 한다
      */
     public static void main(String[] args) { // main메서드의 선언부 
      // 실행될 문장들을 적는다
     }
  }
  • 자바에서 모든 코드는 반드시 클래스 안에 존재해야 하고, 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스를 구성함

  • 클래스들이 모여 하나의 Java application을 이룬다

  • 클래스를 작성하는 방법

    • 키워드 'class' 다음에 클래스의 이름을 적고, 클래스의 시작과 끝을 의미하는 괄호{} 안에 원하는 코드를 넣으면 된다.
  • public static void main(String[] args) {}

    • main 메서드의 선언부

    • 프로그램을 실행할 때 java.exe에 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어주자

    • 자세한 내용은 추후 다룬다

    • main메서드의 선언부 다음에 나오는 괄호{}는 메서드의 시작과 끝을 의미

    • 괄호 사이에 작업할 내용을 작성해 넣자

    • 기본적으로 Java application은 main 메서드의 호출로 시작해서 main 메서드의 첫 문장부터 마지막 문장까지 수행을 마치면 종료됨

    • 모든 클래스가 메인 메서드를 가지고 있어야 하는 것은 아님

    • Java application에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 한다

      • 작성된 Java application을 실행할 때는 java.exe 다음에 main 메서드를 포함한 클래스의 이름을 적어줘야 함
    • 하나의 소스파일에 둘 이상의 클래스를 정의하는 것도 가능함

      • 이 때 소스파일의 이름은 public class의 이름과 일치해야 한다

        • public은 접근 제어자(access modifier)중 하나로 접근 제어자에 대해서는 추후 다룬다
      • 이 때 소스파일 내에 public class가 없으면 소스파일의 이름은 소스파일 내의 어떤 클래스의 이름으로 해도 상관없다.

        • 하나의 소스파일에 둘 이상의 public class가 존재할 수 없다. 별도로 소스파일을 분할하거나 둘 중의 한 클래스에만 public을 붙여야 함

주석

  • 코드의 이해를 돕기 위해 프로그램의 설명을 덧붙여 놓는데, 이 때 사용하는 것이 주석이다.

  • 범위 주석

    • '/*' 와 '*/' 사이의 내용은 모두 주석으로 간주 된다.
  • 한 줄 주석

    • '//' 부터 라인 끝까지의 내용은 주석으로 간주 된다.
  • 큰 따옴표 안에 주석이 있을 때는 주석이 아닌 문자열로 인식된다.

    • example)

      public class HelloWorld {
          public static void main(String[] args) {
              System.out.println("Hello/* 이것은 주석이 아닙니다! */ world"); // 화면에 글자를 출력
              System.out.println("Hello world // 이것도 주석이 아님"); // 화면에 글자를 출력
          }
      }
    • 출력 결과

      Hello/* 이것은 주석이 아닙니다! */ world
      Hello world // 이것도 주석이 아님

참조) Java의 정석 3rd edition(남궁성, 도우출판)

'Java > Basic' 카테고리의 다른 글

[Java] 05. 배열  (0) 2024.03.12
[Java] 04. 변수  (0) 2024.03.12
[Java] 03. 화면에서 입력받기  (0) 2024.03.12
[Java] 01. 자바(Java Programming Language)  (0) 2024.01.19
'Java/Basic' 카테고리의 다른 글
  • [Java] 05. 배열
  • [Java] 04. 변수
  • [Java] 03. 화면에서 입력받기
  • [Java] 01. 자바(Java Programming Language)
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (456) N
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (129) N
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (5) N
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[Java] 02. 자바로 프로그램 작성하기
상단으로

티스토리툴바