본문 바로가기
프로그래밍/Java

Java 기본 구조

by 브이몬 2021. 8. 11.
//파일 이름: Hello.java
public class Hello{						───┐
	public static void main(String[] args){   ───┐		클래스 정의
    	System.out.println("Hello Java");	  메소드 정의	  
    }						  ───┘			  
}								───┘

▶ 자바 기본 구조

1. 클래스의 정의

  • 자바에서 클래스를 하나의 단위로 프로그램을 작성하므로 자바 소스 파일 안에 반드시 클래스 정의.
  • 클래스를 정의하는 기본형식은 예약어 class 다음에 클래스명을 기술하고 중괄호{ } 표시.
  • 위에 클래스에 기술한 내용이 제대로 동작하려면 자바 소스 파일명이 클래스명과 동일하게 "Hello"로 저장되어야 한다.
  • 확장자는 "java"여야 자바 컴파일러가 컴파일 대상으로 인식.
  • 자바에서 초기화
    • 선언한 객체에 최초로 값을 넣어주는 것.
    • 클래스 영역에서 선언할 경우에는 컴파일러가 자동으로 값 할당을 해주나 메서드 영역에서 선언할 경우에는 자동으로 값이 할당되지 않기 때문에 에러가 발생해서 그렇다.

2. main 메소드 정의

  • 클래스는 멤버들로 구성되는데 멤버에는 크게 필드(변수 형태)와 메서드(함수 형태)가 있다.
  • 위에  소스에서는 하나의 메서드로 이름이 main이다.
  • 이름이 main인 메서드는 프로그램의 진입점이 되므로 프로그램을 실행시키면 main함수내부에 기술된 내용들을 순차적으로 수행한다.
public static void main (String[] args)
────── ────── ──── ────  ─────────────
  ①	  ②	③   ④		⑤

① public

  • public은 누구나 접근 가능하도록 하기 위한 예약어

② static

  • static으로 선언된 메서드는 클래스만 존재하면 수행 할 수 있도록 한다.
  • 메소드는 클래스 단위로 수행되는 메서드와 인스턴스가 따로 존재해야만 수행할 수 있는 메서드로 나뉜다.
  • 인스턴스가 없이도 클래스명으로 접근해야 바로 수행되도록 하기 위한 메서드는 static을 사용한다.

③ void

  • void는 값을 갖지 않는다는 의미를 갖는 자료 형태이다.
  • 메소드는 리턴 값의 형태를 명시해야 하는데 main메서드가 리턴 값을 갖지 않음을 나타내기 위해 void를 사용한다.

④ main

  • 메서드의 이름.
  • 자바에서는 일반적으로 ()는 메서드를 의미하며, () 앞에 기술 된 것이 메소드의 이름이 된다.
  • 자바 애플리케이션을 실행시키면 이름이 main인 메소드를 찾아 이 내부에 기술된 내용들을 순차적을 실행한다.
  • 그래서 main 메소드를 프로그램의 진입점이라고 한다.

⑤String[] args

  • 메서드를 실행시키기 위한 재료가 될만한 데이터를 전달받야 할 경우 메소드 이름 다음에 기술하는 ()을 사용한다.
  • () 안에 기술한 args가 메서드에 값을 전달했을 경우 이를 받아 올 수 있는 전달 인자가 된다.

3. 문장

  • main메서드를 정의하면 이 메소드 안에 수행할 내용을 시술한다.
  • 자바는 문장 단위로 프로그램을 작성한다.
  • 메소드 내부에 기술할 문장으로는 변수의 선언문이나 다른 메소드를 호출하는 문장들이 있다.
  • 자바는 세미콜론으로 끝나면 이를 하나의 문장으로 인식한다. 반드시 세미골론으로 마감.

 

4. 출력

System.out.println("Hello Java");
  • System.out.pringln() 메서드는 큰 따옴표(")로 둘러싸인 문자열을 화면에 출력한다.

 

 

댓글