on
java #1
java #1
자바의 정석을 참고하였습니다.
자바는 객체지향 프로그래밍 언어로 운영체제에 독립적인 것이 특징입니다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능합니다.
JVM(Java virtual machine)은 자바를 실행하기 위한 가상 컴퓨터입니다.
virtual machine은 소프트웨어로 구현된 하드웨어를 뜻하는 용어이며, 컴퓨터의 성능이 향상됨에 따라 점점 더 많은 하드웨어들이 소프트웨어화되어 컴퓨터 속으로 들어오고 있습니다. 그 예로 TV와 비디오를 소프트웨어화한 윈도우 미디어 플레이어 등이 있습니다.
이와 마찬가지로 virtual computer는 소프트웨어로 구현된 컴퓨터라는 뜻으로, 컴퓨터 속의 컴퓨터입니다. 자바로 작성된 애플리케이션은 모두 이 가상 컴퓨터(JVM)에서만 실행됩니다.
일반 애플리케이션의 코드는 OS를 거치고 하드웨어로 전달되기 때문에 OS종속적입니다. 때문에 다른 OS에서 실행시키기 위해서는 애플리케이션을 그 OS에 맞게 변경해야 합니다. 반면에 자바 애플리케이션은 JVM하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행이 가능합니다. 단, JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요합니다.
자바로 프로그래밍을 하기 위해서는 먼저 JDK(Java Develoment Kit)를 설치해야 합니다.
JDK를 설치하면, JVM과 Java API, 자바를 개발하는데 필요한 프로그램들이 설치됩니다.
아래 사이트에서 JDK를 다운받을 수 있습니다. (윈도우 기준)
https://www.oracle.com/java/technologies/downloads/#jdk17-windows
다운을 완료했다면 실행 때마다 일일이 경로를 입력하는 수고를 덜기 위해 환경 설정이 필요합니다.
제어판 > 시스템 환경 변수 편집 > 환경 변수
시스템 변수에서 Path를 선택하고 편집을 클릭합니다.
우측 하단의 텍스트 편집을 클릭합니다.
변수 값의 맨 앞에 'c:\jdk1.8\bin;'을 추가하고 확인을 클릭합니다.
'윈도우키 + R'을 눌러서 나타난 실행창에 cmd를 입력하고 확인을 클릭합니다.
'path'를 입력해 위에서 추가한 'c:\jdk1.8\bin;'을 확인하고, 'javac -version'을 입력해 환경 변수 'Path'의 설정이 올바르게 되었는지 확인합니다. 자신이 다운받은 자바의 버전이 출력된다면 올바르게 설정된 것입니다.
다양한 편집기가 존재하지만 저는 이클립스를 통해 자바 프로그램을 개발하겠습니다.
아래의 사이트에서 다운로드할 수 있습니다.
https://www.eclipse.org/downloads/
'study' java project를 생성하고 'study' class를 생성하였습니다.
자바에서 모든 코드는 반드시 클래스 안에 존재해야 합니다. 클래스를 작성하는 방법은 다음과 같습니다.
class 클래스이름 { // 코드 작성 }
키워드 'class' 다음에 클래스의 이름을 적고, 클래스의 시작과 끝을 의미하는 괄호 {} 안에 원하는 코드를 넣으면 됩니다.
class 클래스이름 { public static void main(String[] args) { //실행될 문장을 적습니다. } }
'public static void main(String[] args)'는 main 메서드의 선언부입니다. java 애플리케이션은 main 메서드의 호출로 시작하여 main 메서드의 첫 문장부터 마지막 문장까지 수행을 마치면 종료됩니다.
모든 클래스가 main 메서드를 가지고 있어야 하는 것은 아니지만, 하나의 Java 애플리케이션에는 main 메서드를 포함한 클래스가 반드시 하나는 있어야 합니다.
class hello { public static void main(String args[]) { System.out.println("Hello, world!"); } }
큰 따옴표 안의 Hello, world!를 출력합니다. 이클립스의 콘솔 창에서 확인할 수 있습니다.
큰 따옴표 안에 주석을 작성한다면 주석이 아닌 문자열로 인식되기 때문에 모두 출력된다는 점을 유의하여야 합니다.
공유하기 글 요소 저작자표시
from http://seonhannn.tistory.com/4 by ccl(A) rewrite - 2021-12-28 14:01:13