자바의 기본 체계

2024. 1. 23. 01:28Java

반응형

Intro

자바는 객체지향 프로그래밍 언어이다.

자바 프로그램은 객체의 집합으로 되어 있고, 객체가 서로 상호작용하며 동작한다.

기본 용어

클래스 (Class)

객체의 플랜 또는 청사진. 객체의 특징과 행동을 정의한다.

객체 (Object)

클래스의 인스턴스. 클래스의 상태와 행동을 정의한다.

메서드 (Method)

객체의 행동을 메서드라 한다.

인스턴스 변수 (Instance Variable)

모든 객체는 자신의 변수를 가지고 있다. 객체가 생성될 때 할당되는 변수를 인스턴스 변수라 한다.

다음 코드를 실행해 본다.

// 컴파일 : javac Main.java
// 실행 : java Main

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

// Hello World!

기본 문법

주석 (Comment)

// 한줄 주석

/*
    여러줄
    주석
/*

/**
    문서형 주석
*/

파일 이름 (File name)

Main.java // valid
main.java // invalid. 대문자로 시작해야 한다.

대소문자 구별 (Case-Sensitive)

자바는 case-sentitive 언어이다. 변수명 ab, aB, Ab, AB 는 전부 다른 변수이다.

System.out.println("Hello world!"); // valid
system.out.println("Hello world!"); // invalid. System 클래스 이름도 대문자로 시작해야 한다.

클래스 이름 (Class Name)

대문자로 시작하고, 여러 단어가 쓰인 경우 첫 글자를 대문자로 표기한다.

class JavaProgram // valid
class javaprogram // invalid
class Javaprogram // invalid
class 1JavaProgram // invalid

Public static void main(String[] args)

main() 메서드는 자바 프로그램의 실행 엔드포인트이다.

메서드 이름 (Method Name)

소문자로 시작하고, 구분되는 단어는 중간에 대문자로 표기한다.

public void studyJava // valid
public void StudyJava // invalid

식별자 (Identifier)

지역 변수, 인스턴스, 클래스 변수, 클래스 이름, 패키지, 모듈, 메서드 이름 등의 모든 이름을 식별자라 한다.

  • 식별자는 문자, 언더스코어(_) 로 시작한다. 변수는 소문자로 시작한다.
  • 상수는 모두 대문자로 표기한다.
  • 모든 식별자는 Case-sensitive 하다.
  • 예약어를 사용할 수 없다.

공백 (White Space)

줄바꿈과 주석만이 자바 컴파일 시 공백으로 처리하여 무시된다.

접근 제어자 (Access Modifier)

클래스와 메서드의 접근 범위를 제어한다.

  • Access Modifier
    • private : 같은 클래스 내에서만 접근 가능
    • default : 같은 패키지에서만 접근 가능
    • protected : 같은 패키지 또는 외부 클래스의 상속 패키지에서만 접근 가능
    • public : 다른 패키지에서도 접근 가능
  • Non-accsess Modifier : final, abstract, static, transient, synchronized, volatile, native

예약어 (Java Keywords, Reserved Words)

특정 동작을 나타내도록 자바에서 미리 정의해 둔 용어들은 변수명이나 객체 이름으로 사용할 수 없다.

총 50개가 있다.

abstract assert boolean break byte case catch char class const 
continue default do double else enum extends final finally float
for goto if implements import instanceof int interface long native 
new package private protected public return short static strictfp super
switch synchronized this throw throws transient try void volatile while

Resources

반응형

'Java' 카테고리의 다른 글

자바의 예외처리  (1) 2024.01.30
자바의 반복문  (0) 2024.01.28
자바의 함수와 메서드  (1) 2024.01.27
자바의 조건문  (0) 2024.01.27
자바의 변수와 데이터타입  (1) 2024.01.25