본문 바로가기
언어/Java

자바(JAVA) 시작하기

by 천왕지짐 2023. 6. 13.
모든 컴퓨터 언어를 다 알 필요는 없을 것 같다. 하지만 컴퓨터 관련 전공을 했다면 자신있게 말할 수 있는 언어 하나정도는 있었으면 좋겠다. 전세계적으로 가장 많이 사용하고 있는 자바 정도면 어떨까 생각해 보았다.

어느정도까지 배워야 할까? 우리 블로그에서 어디까지 다뤄야 할까?

목표는 정보처리산업기사 실기의 자바 문제를 쉽게 풀 수 있을정도까지면 될 것 같다.

 

먼저 자바에 대한 몇가지 상식들에 대해 알아보자.

 

자바는 1991년 Sun 회사의 James Gosling 연구팀에 의해 가정용 전자제품에 사용할 수 있는 작은 컴퓨터 언어가 만들어졌다.

 

자바 7~8 버전의 경우 약 4,000개의 클래스를 제공한다. 무엇이 준비되어 있는지 알면 즉, 준비되어 있는 클래스가 무엇무엇이 있는지 알면 프로그램 개발이 쉽다. 이미 만들어 놓을 것을 이용하면 되니까...
Math 클래스, Date 클래스, File 클래스, String 클래스, ArrayList 클래스.....

 

자바는 바이트 코드와 자바가상머신을 통해 컴퓨터 구조에 중립적이라고 한다. 자바의 가장 큰 장점은 Write once, Run everywhere! 이다. 한번 만들어지면 어느곳(Windows, Linus, Mac)에서나 실행된다는 뜻이다. 다시말해 소스코드를 컴파일한 파일(바이트 코드)은 자바가상머신(JVM)이 설치된 어느 컴퓨터라도 동작이 된다는 것이다. JVM은 OS마다 다르지만 바이트코드는 이 JVM에서 동일하게 동작한다. 참고로, Windows 환경에서 C언어로 코딩하여 컴파일된 파일은 리눅스나 MAC에서 동작하지 않는다. 

 

 

자바 버전

 - Java SE(Standard Edition) : 데스크탑과 서버에서 자바 애플리케이션을 개발하고 실행할 수 있게 해줌

 - Java EE(Enterprise Edition) : 기업용 애플리케이션을 개발하는데 필요한 여러가지 도구와 라이브러리가 추가됨

 - Java ME(Micro Edition) : 핸드폰, PDA, TV셋톱박스, 프린터 등과 같은 모바일 기기나 임베디드 장치들에서 사용

 

 

JDK와 JRE

 - JRE는 자바 프로그램을 실행하기 위한 라이브러리, 자바 가상 기계(JVM), 기타 컴포넌트들을 제공

 - JDK는 JRE + 자바 프로그램 개발에 필요한 컴파일러, 디버거 등 개발도구를 추가한 것

즉, JRE는 자바 프로그램을 실행 시킬 수 있는 환경이고 JDK는 개발도 할 수 있는 환경이므로 우리는 JDK를 설치해야 한다. JDK는 텍스트 편집기를 제공하지만 통합개발환경(IDE)를 사용하면 즉, 이클립스같은 프로그램을 사용하면 코드 편집뿐만아니라 디버깅, 빌드, 테스트 등을 처리할 수 있어 편리함을 제공한다.

런타임환경을 제공한다라는 말뜻은?

프로그램이 정상적으로 실행되고 동작할 수 있도록 필요한 모든 요소(라이브러리, 파일시스템, 네트워크연결, 메모리 등)를 제공하는 것을 의미한다. 자바에서는 JVM이 이 역할을 한다.

 

 

JDK 설치

1)  OpenJDK인 경우 AdoptOpenJDK(https://adoptopenjdk.net/) 또는 OpenJDK(https://jdk.java.net/) 사이트로 이동한다.

2) JDK 다운로드 페이지에서 사용 중인 운영 체제에 맞는 JDK 버전을 선택한다. 일반적으로는 최신 버전을 선택하는 것이 좋다.

3) 다운로드 페이지에서 JDK 설치 파일을 다운로드합니다. 파일은 .exe(Windows), .dmg(Mac), .tar.gz(Linux) 등의 형식일 수 있습니다.

다운로드가 완료되면 설치 파일을 실행하여 JDK를 설치합니다. 인터넷 연결이 필요할 수 있습니다.

JDK 설치 과정에서 설치 경로를 지정할 수 있습니다. 기본적으로는 시스템에 맞는 기본 경로에 설치됩니다.

JDK 설치가 완료되면 환경 변수를 설정해야 합니다. 시스템의 PATH 환경 변수에 JDK의 bin 디렉토리 경로를 추가해야 합니다. 이렇게 하면 명령 프롬프트 또는 터미널에서 javac와 java 명령어를 실행할 수 있습니다.

환경 변수를 설정한 후에는 명령 프롬프트 또는 터미널을 재시작하여 변경 사항을 적용합니다.

JDK가 정상적으로 설치되었는지 확인하기 위해 명령 프롬프트 또는 터미널에서 다음 명령어를 실행합니다.

java -version
위 명령어를 실행하면 설치된 JDK의 버전 정보가 출력됩니다. 이를 통해 JDK가 정상적으로 설치되었는지 확인할 수 있습니다.

JDK를 설치하면 자바 프로그램을 개발하고 실행할 준비가 완료됩니다.

 

 

JDK의 구조

JDK의 기본 설치 위치는 C:\Program Files\Java 이다. 그안에 어떤 폴더들이 있는지 확인해 보자.

폴더 설명
bin 자바 언어를 이용하여 프로그램을 개발하고 실행하며 디버깅, 주석 작업을 도와주는 도구
db Java DB, 아파치 Derby 데이터베이스 기술의 선  마이크로시스템의 배포판 포함
include 네이티브 코드 프로그래밍을 지원하는 헤더 파일들로 자바와 C를 동시에 사용하는 프로그램을 개발할 때 사용됨
jre 자바 실행 환경, 자바 가상 기계, 클래스 라이브러리들, 기타 자바 프로그램의 실행을 지원하는 파일들
lib 개발 도구들이 필요로 하는 추가적인 클래스 라이브러리와 지원 파일들

 

 

자바 프로그램 개발

1) 에디터를 사용하여 소스 파일을 작성하며 확장자는 .java임

2) 컴파일 명령어(javac)를 이용해 컴파일하여 자바 소스 파일을 바이트 코드로 변환시킴. 확장자는 .class임

3) 실행

 

 

처음으로 만들어 보는 Hello World!

public class Hello       // Hello라는 클래스가 있다는 것을 알려주며 public을 통해 누구든지 이 클래스를 사용할 수 있다고 표시함
{
    public static void main(String[] args)       // 누구나 호출가능한 정적메소드로 반환값은 반환하지 않는 main() 메소드
    {
        System.out.println("Hello World!");       // 컴퓨터에게 작업을 지시함
    }
}

public 클래스가 있으면 소스 파일의 이름은 같아야 한다. 즉, 위 코드에서 소스파일의 이름은 Hello.java이어야 한다.

하나의 소스파일안에 public 클래스가 2개 이상이 있으면 컴파일 오류가 발생한다.

 

메소드는 특정한 작업을 수행하는 코드의 묶음으로 외부로 부터 입력을 받아서 특정한 작업을 수행하고 작업의 결과를 반환하는 블랙박스같은 역할을 수행한다. 모든 자바프로그램은 main() 메소드를 가지고 있는 클래스가 반드시 하나는 있어야 한다. 위 코드에서 main()메소드는 호출할 때 String[] args로 매개변수를 받을 수 있다.

 

System은 자바에서 제공하는 기본 클래스로, 다양한 기능을 제공하는데 그 중에서 out은 표준 출력 스트림을 의미한다. println은 out 객체의 메소드이며, 문자열을 콘솔에 출력하는 역할을 한다.

 

특히, System.out.println은 디버깅이나 프로그램 실행 중에 중간 결과를 확인하는 용도로 자주 사용된다. 

댓글