Java Programming

Contents

언어적 특징

  • 객체지향 프로그래밍 언어이기 때문에 기본 구성단위는 클래이이다.
  • 변수의 자료형에 대한 검사각 엄격하다.
  • Java 프로그래밍을 위해 JDK 설치가 필요하다.
  • Java 소스가 컴파일 된 후, 바이트코드가 Java 플랫폼에서 실행된다.
  • Java 플랫폼은 JVM과 Java API로 구성된다.

자바에서 애플리케이션 실행을 위해서는 해당하는 클래스에 main 함수가 있어야 합니다.

객체지향 프로그래밍

자바는 온전한 객체지향 언어이고, 객체지향 언어에 대한 개념 이해가 필요합니다. 아래는 객체지향 언어의 주요한 특징 중 몇 가지에 대해 정리해 보았습니다.

추상화

  • 구체적인 모든 사실이 아니라 전형적이고 필요한 부분만을 발취해 사물을 이해하고 표현하는 것

클래스

  • 객체를 만들기 위한 모형 또는 틀
  • 공통적인 특징을 가지는 객체들을 추상화하기 위한 수단
  • 객체의 상태는 필드(데이터)로, 행위는 메소드로 구혐
  • 객체는 특정 클래스의 인스턴스

절차적 프로그래밍 & 객체지향 프로그래밍

절차적 프로그래밍

절차적 프로그래밍은 함수 단위로 프로그램이 구성됩니다. 아래는 예시를 위한 c언어 코드입니다.

int e[2]; // 영어 성적을 위한 변수
int m[2]; // 수학 성적을 위한 변수

void input_grade() { // 학생 별 영어, 수학 성적을 입력하는 함수
    e[0] = 90;
    e[1] = 80;
    m[0] = 85;
    m[1] = 90;
}

void output_grade() { // 총점 출력 함수
    printf("%d, %d", e[0]+m[0], e[1]+m[1]);
}

void main(void) {
    input_grade();
    output_grade();
}

객체지향 프로그래밍

객체지향 프로그래밍에서는 객체가 구성단위이기 때문에, 객체 생성을 위한 클래스 작성을 해야합니다.

class Grade {
    int e;
    int m;
    
    void output_grade() {
        System.out.println(e+m);
    }
}

public class GradeOutput {
    publid static void main(String args[]) {
        Grade g1, g2;
        g1 = new Grade();
        g2 = new Grade();
        g1.e = 90; g1.m = 85;
        g2.e = 80; g2.m = 75;
 
        g1.output_grade();
        g2.output_grade();
    }
}

Java 프로그램

  • 자바는 객체지향 언어이기 때문에, 클래스는 자바 프로그램의 기본 단위입니다.
  • 따라서, 자바로 클래스를 작성한다는 것은 클래스를 작성하는 것을 의미합니다.
  • 클래스로부터 객체가 생성되고, 이 객체들 간 상호작용으로 프로그램이 작동합니다.