[Java] 자바 소스코드의 구조

2022. 7. 25. 00:47·Language/Java
728x90

자바 소스코드의 구조

보통 일반적인 자바 소스코드는 다음과 같은 형태로 만들어 진다.

클래스명.java

/* 클래스 블록 */
public class 클래스명 {

    /* 메소드 블록 */
    [public|private|protected] [static] 리턴자료형|void 메소드명1(입력자료형 매개변수, ...) {
        명령문(statement);
        ...
    }

    /* 메소드 블록 */
    [public|private|protected] [static] 리턴자료형|void 메소드명2(입력자료형 매개변수, ...) {
        명령문(statement);
        ...
    }

    ...
}

 

소스코드의 가장 바깥쪽 영역은 class 블록이다. 클래스명은 원하는 이름으로 지을 수 있다. 단, 클래스명은 소스파일의 이름(클래스명.java)과 동일하게 사용해야 한다.

그리고 class 블록은 메소드 블록들을 포함한다.

 

메소드 블록 부분에서 [public | private | protected]라고 되어 있는 부분의 의미는 public, private, protected 또는 아무것도 오지 않을 수 있다는 의미이다. 이 public, private, protected 라는 것은 메소드의 접근제어자를 뜻한다.

 

[static]은 static 키워드가 올수도 있고 오지 않을 수 도 있다는 의미이다. static이라는 키워드가 붙게 되면 static 메소드가 된다.

 

리턴자료형|void는 메소드가 실행된 후 리턴되는 값이 자료형을 의미한다. 리턴값이 있을 경우에는 반드시 리턴 자료형을 표기해야 하며 만약 리턴값이 없는 경우라면 void로 표기해야 한다. 이 항목은 둘 다 생략할 수는 없고 void 또는 리턴자료형이 반드시 있어야만 한다. 

 

메소드명은 원하는 이름으로 지을수 있다. 메소드 명 이후의 괄호() 안의 값들은 메소드의 입력 인자를 뜻한다. 입력 인자의 갯수는 제한이 없으며 입력 인자는 "입력자료형" + "매개변수명" 형태로 이루어진다.

 

클래스내에는 이러한 메소드들이 여러개 올 수 있다.

소스코드의 예

다음은 가장 간단한 샘플로 실제 소스코드의 구조에 대해서 자세히 알아보자.

sample.java

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

클래스 블록

소스코드의 가장 바깥쪽 영역인 클래스 블록을 보자.

public class Sample {
    (... 생략 ...)
}

이 클래스의 클래스명은 Sample이다.

소스코드의 가장 바깥쪽은 클래스(class) 블록이다. 그리고 클래스 블록은 중괄호({})로 둘러싸야 한다.

  • { 블록의 시작
  • } 블록의 끝

public은 자바의 접근제어자로 어디서든 이 클래스에 접글한 수 있음을 의미한다. class는 클래스 블록을 만드는 키워드다.

 

메소드블럭

클래스 블록 안에는 다음과 같은 블록이 있다.

public class Sample {	// 클래스 블록
	public static void main(String[] args) {	// 메소드 블록
		(... 생략 ...)		 	 	// 메소드 블록
	}						// 메소드 블록
}	// 클래스 블록

이 메소드의 메소드명은 main이다.

메소드 블록 역시 중괄호로 영역을 구분한다.클래스 블록 안에는 여러개의 메소드 블록이 있을 수 있다. 메소드 블록에 사용된 public, static, void 등에 간단히 알아보자.

  • static - 메소드에 static 키워드가 붙을 경우 이 메소드는 클래스 메소드가 되어 객체를 만들지 않아도 "클래스명.메소드명" 형태로 호출이 가능하다.
  • void - 메소드의 리턴타입 중 하나로 void는 리턴값이 없음을 의미한다.
  • String[] args - 메소드의 매개 변수이다. args 변수는 String[] 배열 자료형임을 의미한다. args라는 이름은 인수를 의미하는 arguments의 약어로 관례적인 이름이다. args 대신 다른 이름을 사용해도 상관없다.

명령문 (Statement)

메소드 블록 안에는 명령문(Statement)이 있다.

public class Sample {
    public static void main(String[] args) {
        System.out.println("Hello java");	// 명령문
    }
}

위와 같이 컴퓨터에 무언가 일을 시키는 문장을 명령문(Statement)이라고 한다. 명령문은 반드시 세미콜론(;)을 붙여 문장의 끝을 표시해야 한다. 메소드 블록 안에는 여러개의 명령문이 있을 수 있다.

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

[Java] 1 ~ 10000까지 8이라는 숫자가 나오는 횟수  (0) 2022.07.25
[Java] 1~100까지의 정수에서 모든 소수 구하기  (0) 2022.07.25
[Java] 자바 기초 정리/구구단 만들기  (0) 2022.07.25
[Java] 자바  (0) 2022.07.24
[Java] 약수 구하기 실습  (0) 2022.07.22
'Language/Java' 카테고리의 다른 글
  • [Java] 1 ~ 10000까지 8이라는 숫자가 나오는 횟수
  • [Java] 1~100까지의 정수에서 모든 소수 구하기
  • [Java] 자바 기초 정리/구구단 만들기
  • [Java] 자바
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    MySQL
    TypeScript
    타입스크립트
    Java
    자바스크립트
    CSS
    제어문
    next.js
    리액트
    JavaScript
    Python
    react
    변수
    array
    event
    web
    객체
    HTML
    object
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[Java] 자바 소스코드의 구조
상단으로

티스토리툴바