Page 11 -
P. 11
자바 프로그램의 기본 구조 자바 프로그램(클래스)은 정적 메서드(함수)의 라이브러리일 수도 있고 1
데이터 타입에 대한 정의일 수도 있다. 정적 메서드와 데이터 타입의 정의로 된 라이브러리를 만들기
위해 다음의 7가지 요소를 이용한다. 이 요소들은 자바뿐만 아니라 다른 프로그래밍 언어에서도 많 기초 개념
이 사용된다.
• 기본(Primitive) 데이터 타입: 컴퓨터 프로그램 안에서 정수, 실수(實數), 논릿값의 의미를 정
의한다. 여기서 정의라 함은 이들 데이터 타입에 속할 수 있는 값의 범위와 그 값들을 대상
으로 실행할 수 있는 작업의 종류를 규정하는 것을 말한다. 이 작업이 모여서 하나의 표현식
(expressions)이 되는데, 값을 정의하는 수학의 표현식과 비슷하다.
• 명령문(Statement): 변수에 값을 생성 또는 대입하거나, 실행 흐름을 제어하거나, 부가 효과를
일으키는 연산(작업)을 정의할 수 있게 해준다. 이 책에서는 선언문, 대입문, 조건문, 반복문,
호출문, 리턴문과 같은 6가지 명령문을 사용한다.
• 배열: 같은 타입의 값을 여러 개 사용할 수 있게 해준다.
• 정적 메서드: 코드를 하나로 묶어 추상화하고 독립된 모듈로써 프로그램을 만들 수 있게 해준다.
• 문자열: 문자들의 나열로, 몇몇 문자열 작업은 자바 언어 자체에 내장되어 있다.
• 입출력: 프로그램이 외부와 연동될 수 있게 해준다.
• 데이터 추상화: 기본 데이터 타입이 아니더라도 여러 데이터 타입을 모아 하나의 독립된 데이터
타입으로 정의하여 재사용할 수 있게 해준다. 즉 객체지향 프로그래밍을 할 수 있게 한다.
이 절에서는 데이터 추상화를 제외한 나머지 6가지를 알아본다. 데이터 추상화는 다음 절에서 다룬다.
자바 프로그램을 실행하려면 운영체제 또는 프로그램 개발 환경이 있어야 한다. 이 부분은 그냥 뭉뚱
그려서 가상 터미널이라고 표현하도록 하자. 이 가상 터미널은 명령어를 입력하여 시스템과 상호 연동
할 수 있게 해주는 창구 역할을 한다. 북사이트에 가면 프로그램 개발/실행 환경에 대한 추가적인 정
보를 얻을 수 있다. 북사이트에서는 여러 가지 고급 프로그램 개발환경에 대해서도 정보를 제공한다.
예를 들어 BinarySearch 프로그램은 두 개의 정적 메서드 rank()와 main()으로 만들어져 있다.
rank() 메서드는 4개의 명령문. 두 개의 선언문, 루프 하나(대입문 하나와 두 개의 조건문으로 구성)
그리고 리턴으로 구성된다. main() 메서드는 3개의 명령문, 선언문 하나, 함수 호출 하나, 그리고 루
프 하나(대입문 하나와 한 개의 조건문으로 구성)로 구성된다.
프로그램을 실행하기 위해 먼저 javac 명령어를 이용해 컴파일을 해야 한다. 그다음에 자바 명령어
를 이용해 실행한다. 예를 들어 BinarySearch 프로그램을 실행하기 위해 “javac BinarySearch.java”
명령어를 입력한다(이 명령은 저수준 바이트 코드가 담긴 BianarySearch.class 파일을 생성한다).
그다음에 “java BinarySearch <화이트 리스트 파일명>”을 입력하여 바이트코드 버전의 프로그램이
실행되도록 한다. 이 작업들이 어떤 일을 하는지 이해하기 위해 기본 데이터 타입과 표현식 그리고
배열, 정적 메서드 문자열, 입출력과 같은 여러 가지 자바 명령어들을 알아본다.
023