와드의 블로그

Chapter 1. 자바의 시작 본문

프로그래밍 언어/Java

Chapter 1. 자바의 시작

Ward 2022. 11. 23. 20:27

1. 자바

1.1 자바란?

자바는 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어다.

1.2 자바의 특징

① 운영체제에 독립적이다.

기존의 언어는 운영체제에 종속적이어서 한 운영체제에 맞게 개발된 프로그램을 다른 운영체제에 적용하기 위해서는 많은 노력이 필요하였다. 하지만 자바는 프로그램이 JVM에 의해 운영체제에 맞게 변환되기 때문에 운영체제에 맞는 JVM만 설치한다면 어떤 운영체제에서나 프로그램을 변경하지 않고 실행할 수 있다.

 

② 객체지향 언어이다.

자바는 객체지향 프로그래밍 언어로 객체지향 개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향 언어이다.

 

③ 비교적 배우기 쉽다.

자바의 연산자와 기본 구문은 C++에서, 객체지향 관련 구문은 스몰톡이라는 객체지향 언어에서 가져왔다. 이 둘의 장점은 취하면서 복잡하고 불필요한 부분은 과감히 제거하여 단순화함으로써 쉽게 배울 수 있으며, 간결하고 이해하기 쉬운 코드를 작성할 수 있도록 하였다.

 

④ 자동 메모리 관리

자바로 작성된 프로그램이 실행되면, 가비지 컬렉터가 자동적으로 메모리를 관리해 주기 때문에 프로그래머가 메모리를 따로 관리하지 않아도 된다.

 

⑤ 네트워크와 분산처리를 지원한다.

인터넷과 대규모 분산 환경을 염두에 둔 까닭인지 풍부하고 다양한 네트워크 프로그래밍 라이브러리를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.

 

⑥ 멀티 쓰레드를 지원한다.

일반적으로 멀티 쓰레드의 지원은 사용되는 운영체제에 따라 구현 방법도 상이하며, 처리 방식도 다르다. 그러나 자바에서 개발되는 멀티 쓰레드 프로그래밍은 운영체제와 관계없이 구현 가능하며, 관련 라이브러리가 제공되므로 구현이 쉽다.

 

⑦ 동적 로딩을 지원한다.

보통 자바로 작성된 애플리케이션은 여러 개의 클래스로 구성되어 있다. 자바는 동적 로딩을 지원하기 때문에 실행 시 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

1.3 JVM

JVM은 Java virtual machine을 줄인 것으로 직역하면 자바 가상 머신이다. 자바로 작성된 애플리케이션은 모두 이 JVM에서만 실행되기 때문에, 자바 애플리케이션을 실행하기 위해서는 반드시 JVM이 필요하다.

일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해 자바 애플리케이션은 JVM을 한 번 더 거치기 때문에 속도가 느리다는 단점이 있다. 그러나 요즘에는 컴파일된 자바 코드인 바이트 코드를 기계어로 바로 변환해주는 JIT 컴파일러와 향상된 최적화 기술로 속도의 격차를 많이 줄였다.

일반 애플리케이션은 OS와 바로 맞붙어 있기 때문에 OS에 종속적이다. 반면에 자바 애플리케이션은 JVM하고만 상호작용하기 때문에 OS와 하드웨어에 독립적이다.

2. 자바 개발 환경 구축하기

2.1 JDK 설치하기

 

자바로 프로그래밍을 하기 위해서는 먼저 JDK를 설치해야 한다. JDK를 설치하면, JVM과 자바클래서 라이브러리 외에 자바를 개발하는데 필요한 프로그램들이 설치된다. 아래 pdf 파일의 내용을 따라 설치하면 된다.

JDK 설치.pdf
2.61MB

2.2 이클립스 설치하기

자바로 프로그램을 개발하려면 JDK 외에도 편집기가 필요하다. 이클립스는 다양하고 편리한 기능을 가진 고급 개발도구이다. 아래 pdf 파일의 내용을 따라 설치하면 된다.

Eclipse 설치.pdf
1.37MB

3. 자바로 프로그램 작성하기

3.1 Hello World 프로그램 작성하기

이클립스에서 자바 프로젝트를 생성한 후, Hello.java 파일을 만들고 다음과 같이 작성한 후 실행한다. 프로그램을 실행하면 Hello World!가 출력된다.

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

위 코드를 분석해 보면, 자바에서 모든 코드는 반드시 클래스 안에 존재해야 한다. 클래스를 작성하려면 class 키워드 다음에 클래스 이름을 적고 클래스의 범위를 나타내는 중괄호 내부에 원하는 코드를 작성하면 된다. 따라서 Hello 클래스를 만들고 내부에 코드를 작성

public static void main(String[] args)는 main 메서드의 선언부인데, 프로그램을 실행할 때 main 메서드가 가장 먼저 호출될 수 있도록 미리 약속된 부분이므로 항상 똑같이 적어주어야 한다. 이 main 메서드 안에 실행될 내용을 적으면 된다.

System.out.println()을 이용하여 "Hello World!" 문자열을 출력한다.

3.2 자바 프로그램의 실행 과정

.java 확장자의 자바 소스 파일은 자바 컴파일러(javac.exe)에 의해 .class 확장자의 바이트 코드 파일로 컴파일된다. 그다음에 자바 인터프리터(java.exe)가 바이트 코드 파일을 .exe 확장자의 실행 파일로 변환하여 실행한다.

3.3 주석

작성하는 프로그램의 크기가 커질수록 프로그램을 이해하고 변경하는 일이 점점 어려워진다. 내가 작성한 프로그램도 이해하기 힘들고 남이 작성한 프로그램은 더더욱 그렇다. 따라서 주석을 이용해서 프로그램 코드에 대한 설명을 적절히 덧붙여 놓으면 프로그램을 이해하는 데 많은 도움이 된다.

주석을 작성하는 방법은 두 가지가 있다.

  • 한 줄 주석: // 부터 라인 끝까지의 내용을 주석으로 간주한다.
  • 범위 주석: /*와 */ 사이의 내용을 주석으로 간주한다.

 

'프로그래밍 언어 > Java' 카테고리의 다른 글

Chapter 6. 객체지향 프로그래밍 1  (0) 2022.12.05
Chapter 5. 배열  (0) 2022.12.03
Chapter 4. 조건문과 반복문  (0) 2022.11.28
Chapter 3. 연산자  (0) 2022.11.24
Chapter 2. 변수  (0) 2022.11.23