Java 코드의 구조

Chunbae·2024년 9월 23일
0

Java

목록 보기
1/11

오늘 다시 정리할 내용은 Java의 기본 코드구조이다.
사용하면서도 헷갈렸던 구조에 대해 한번더 보고 넘어갈려고한다.

기본적인 구조

//패키지 서언
package 상위디렉토리.하위디렉토리
package com.java;

//import선언
import java.util.*;

//class선언
public class Main{
	
    //main선언
    public static void main(String [] args){
    }
}

Package

  • Package란 자바의 클래스 파일을 모아 분류하기 위한 일종의 디렉토리이다.
  • 클래스를 컴파일 하면 첫줄에 자동으로 생성되며, 클래스를 식별하는 관리자 역할을 한다.
    클래스 명이 충동하지 않도록 카테고리화 한것.
  • 명명규칙은 숫자와 특수문자는 사용 불가하며, 모두 소문자로 이루어져야한다.(_,$는 가능)
  • 패키지의 .은 [상위패키지].[하위패키지].[클래스]를 의미한다.
    -> 디렉토리 경로라고 생각하면 편하다.

Class

  • Class란 Java에서 기능을 구현하기 위한 설계도(Template)이다.
  • 클래스명은 반듯 소스 파일명과 동일해야한다.
    file = core1.java
    class = public class core1
  • 접근제어자를 통해 클래스의 접근을 설정할 수 있다.
  • 클래스 구성은 필드, 생성자, 메서드, 내부 클래스 등등으로 구성된다.
    - Filed : 객체의 데이터를 저장
    • Constructor : 생성자 (생성된 객체 초기화)
    • Method : 객체의 동작을 진행하는 함수
    • Inner Class : 클래스나 인터페이스를 내부에 선언.
public class age{
	public int Grade; //필드 내 객체
    
    public age(){} // Constructor
    
    public void method(int age){ //Method
    	//method블럭
    }
    
    class name{} //Inner Class
}

Main 메서드

  • main메서드는 프로그램을 구동하기위한 메인 스레드이다.
  • Java를 실행하면 JVM(자바가상머신)은 클래스 내에 포함되어 있는 public static void main(String [] args) 라는 시그니처를 가지고 있는 메인 함수를 실행한다.
    - public : 모든 클래스에서 접근이 가능한 접근제어자
    - static : 클래스 고정된 메서드를 의미 "정적 메서드"이다. 컴파일 시 메모리 static영역에 할당된다.
    - void : 별도의 return값이 없이 메서드를 실행한다는 의미.
    - main : 해당 메서드가 main 메서드임을 의미
    - String [] args : 터미널에서 자바 프로그램을 실행할 때 해당 위치에 인수값이 들어간다.

    메인메서드가 없는 경우
    컴파일 시 시스템은 자동으로 main메서드를 찾아 진입점으로 인식 하기 때문에 Main메서드가 없는경우 에러가 발생하거나 실행이 되지 않는다.

정리

Java의 구조를 다시 한번 보면서 정말 간단하게 구성되어있지만 이러한 클래스들이 모이고 모여 하나의 기능이 되고 우리가 사용하는 객체지향적 프로그래밍의 기초가 된다는걸 다시 한번 알게 된거 같다.

정말 간단하게 정리를 했지만 각 클래스의 종류들과 접근제어자등은 따로 깊게 정리할 예정이다.

profile
말하는 감자

0개의 댓글