프로그래밍언어 자바

(작성중)2. 자바 기본문법-1


이번 강좌에서는 자바 프로그램의 기본구조와 변수, 메서드, 연산자, 분기문등 기본 문법 요소를 배웁니다.

이 강의를 통해 자바언어의 구조를 이해하고 기본 문법을 활용해 기초적인 자바 프로그램을 작성하고 실행할 수 있습니다.


Note: 공통사항 -> 프로그래밍언어개요 를 먼저 학습한 다음 시작하기 바랍니다.

01: 자바 프로그램 구조

자바 프로그램은 기본적으로 클래스 구조에서 시작 합니다. 클래스는 객체지향 개념에서 객체를 정의하는 틀로서 많은 객체지향 프로그램 언어의 기본 구조 입니다. 객체지향과 관련한 보다 자세한 사항은 4.객체지향과 자바 에서 자세히 배우게 됩니다. 여기서는 구성요소들에 대해 전반적으로 이해하는 정도로만 살펴 봅니다.

클래스의 기본 구성요소는 변수메서드 입니다.

클래스

객체지향 프로그램의 기본 구조로 자바에서 모든 프로그램 소스는 클래스 단위로 시작하게 됩니다.

인스턴스

클래스로 부터 생성된 객체로 클래스는 객체를 정의한 틀이고 실제 프로그램은 인스턴스를 통해 동작하게 됩니다.

변수

일반적인 프로그램언어의 변수와 같습니다.

메서드

일반적인 프로그램언어의 함수와 유사합니다. 함수는 단순한 기능을 모듈화 한것이지만 메서드는 객체의 동작(행위)을 정의 합니다.

주석

대부분의 프로그램언어와 같은 주석을 지원하며 JavaDoc 과 같은 특수한 목적의 주석이 있습니다.

// 한줄 주석
/*
    여러줄 주석
*/
/**
    JavaDoc 주석
*/

다음은 가장 기본적인 자바 프로그램의 구조 입니다.

// 클래스 선언
public class MyClass {
    // 변수 선언
    int num1;
    Message msg;

    // 메서드
    public void printName(String name) {
        ...
    }

    // 메서드
    public Message getMessage() {
        ...
    }

    // 메인 메서드
    public static void main(String[] args) {
        // 클래스 인스턴스 생성
        MyClass mc = new MyClass();
        mc.num1 = 100;
        mc.printName("홍길동");
        System.out.println(mc.getMessage().msg);
    }
}

» 실습: 2-1

Note: 상세 실습 과정은 동영상 강좌에 포함되어 있습니다.

실습개요

이클립스를 이용해 클래스를 생성하고 간단한 출력문을 이용한 프로그램을 구현한다음 실행해서 결과를 확인하는 과정을 살펴 봅니다.

인스턴스 생성과 변수 및 메서드 사용예제는 02:변수와 메서드에서 살펴보게 됩니다.

소스코드




02: 변수와 메서드

1) 변수

변수는 데이터를 저장하기 위한 메모리 공간에 대한 이름으로 저장할 데이터의 크기를 알아야 필요한 공간을 확보할 수 있습니다. 따라서 적절한 자료형을 사용하는 것은 매우 중요합니다.

다만 객체지향 프로그램 언어에서는 클래스 타입을 자료형으로 사용할수도 있고 최근에 나오는 언어들은 메모리 공간의 크기를 계산하기 위한 용도라기 보다는 타입을 구분하는 개념으로 접근하고 있습니다. 나아가 타입에 대한 추론을 통해 개발자가 타입에 신경쓰지 않고 코딩을 할 수 있도록 지원하고 있습니다.

자바의 경우 원시 자료형(Premitive Type)과 클래스 타입(Class Type)을 모두 지원 하고 있으며 원시 자료형에 대한 클래스 타입들은 랩퍼 클래스(Wrapper Class)라고 합니다.

변수 선언 방법

자료형 변수명의 형태로 선언하고 초깃값을 대입할 수 있습니다.

int num1;
char c1 = 'A';
long num2 = 212355L;
float num3 = 13.4F;
boolean result = true;

원시자료형

원시자료형은 기본적으로는 숫자형 데이터 타입 입니다. 정수, 실수, 문자, 논리형이 있습니다. 클래스 타입은 추후 객체지향

[그림: 자바 원시 자료형]

각 자료형의 명칭과 크기등은 다음과 같습니다.

자료형 크기 설명
byte 1바이트, -128~127 가장 작은 단위로 8bit 로 구성된 1byte 를 기본으로 함.
char 2바이트, 0~65535 음수를 포함하지 않는 unsigned 자료형으로 문자 표현에 적합.
short 2바이트, -32768~32767 음수를 포함한 2바이트 크기의 자료형. 작은 데이터 처리에 적합.
int 4바이트, -2147483648~2147483647 정수의 기본자료형이지만 충분한 크기가 아님에 주의
long 8바이트, -9223372036854775808 ~ 9223372036854775807 충분한 숫자값이 필요한 경우 사용
float 4바이트, 1.4E-45 ~ 3.4028235E38 실수형의 기본형이 아니므로 숫자뒤에 f 를 붙여 사용
double 8바이트, 4.9E-324 ~ 1.7976931348623157E308 실수형의 기본 자료형.
boolean 1바이트, true 혹은 false 논리형으로 참, 거짓을 표현.
크기 계산: signed 자료형의 경우 크기보다 하나 작은 비트를 승수로 사용하는데 그 이유는 음수 처리를 위해 최상위비트를 부호부로 사용하기 때문이다. 즉 byte 의 경우 -28~28 이 아니라 -27~27 이 된다. 또한 양수 범위에서 -1을 하게 되는데 이는 `0`을 빼기 위함이다.
결과적으로 byte 의 크기 범위는 -27~27-1 이 된다.
지수 표기법: 지수 표기법은 숫자En 또는 숫자E+n 형식으로 사용하고, 의미는 숫자*10n이 된다. 보다 정밀한 숫자를 적은 자리수로 표현하기 위해 사용함.

2) 메서드

메서드는 특정 객체의 동작이나 행위를 정의한 것으로 클래스의 주요 구성요소 입니다.

메서드 선언 방법

리턴타입 메서드명(인자)의 형태로 선언하고 중괄호로 된 블럭에 메서드 내용(바디)을 작성 합니다.

void printName(String name) {
    System.out.prinltn(name);
}

String getName() {
    return "홍길동";
}

int calc(int num1, int num2){
    return num1+num2;
}

void printName() {
    System.out.println(getName());
}

03: 연산자

자바 언어는 현재 가장 대표적인 프로그래밍 언어 입니다. 조사 목적이나 관점에 따라 다른 결과가 있을 수 있지만 매년 조사를 진행하고 있으며 신뢰성 있게 인용되는 tiobe index 의 결과에 따르면 지난 수년동안 자바는 계속 가장 인기있는 프로그래밍언어 1위 입니다.


04: 분기문

자바 언어는 현재 가장 대표적인 프로그래밍 언어 입니다. 조사 목적이나 관점에 따라 다른 결과가 있을 수 있지만 매년 조사를 진행하고 있으며 신뢰성 있게 인용되는 tiobe index 의 결과에 따르면 지난 수년동안 자바는 계속 가장 인기있는 프로그래밍언어 1위 입니다.


05: 반복문

자바 언어는 현재 가장 대표적인 프로그래밍 언어 입니다. 조사 목적이나 관점에 따라 다른 결과가 있을 수 있지만 매년 조사를 진행하고 있으며 신뢰성 있게 인용되는 tiobe index 의 결과에 따르면 지난 수년동안 자바는 계속 가장 인기있는 프로그래밍언어 1위 입니다.

* https://www.tiobe.com/tiobe-index/

참고 자료