자바의 시작

Java

자바는 객체 지향 언어로 개발된 프로그래밍 언어이다.
자바는 자바 가상머신(JVM, Java Virtual Machine)을 사용하여, 운영체제와는 독립적으로 동작할 수 있다.
2009년 썬 마이크로시스템즈사가 오라클과 인수 합병됨에 따라 자바에 대한 권리 및 유지보수는 현재 오라클에서 수행하고 있다.

#Java의 장점
1. 자바는 운영체제와는 '독립적'으로 실행할 수 있다.
2. 자바는 '불필요한 기능을 과감히 제거'하여 다른 언어에 비해 배우기 쉽다.(쉬운지는 잘모르겠다...)
3. 자바는 자동메모리 관리 등을 지원하여 다른언어에 비해 '안정성'이 높다.
3. 자바는 연산자의 오버로딩을 금지하고, 제네릭을 도입함으로서 '코드의 가독성을 높였다'.

#Java의 단점
1. 자바는 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 '실행 속도가 느리다'.
2. 자바는 예외처리가 잘 되어 있지만, 개발자가 '일일이 처리'를 지정해줘야한다는 불편함이 있다.
3. 자바는 다른 언어에 비해 작성해야하는 '코드의 길이가 긴 편'이다.

#자바컴파일러
자바컴파일러는 자바를 가지고 작성한 자바 소스 코드를 자바 가상 머신이 이해할 수 있는 자바 바이트 코드로 변환한다. 자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치된다.

#자바 바이트 코드
자바 바이트 코드란 자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다.
자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불리고있다.
이러한 자바 바이트 코드의 확장자는 .class이다.
자바 바이트 코드는 자바 가상 머신만 설치되어 있으면, 어떤 운영체제에서라도 실행될 수 있다.

#자바 가상 머신
자바 가상 머신이란 자바 바이트 코드를 실행시키기 위한 가상의 기계라고 할 수 있다.
자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있기때문에, 자바 프로그램을 실행하기 위해서는 반드시 자바 가상 머신이 설치되어 있어야 한다.
따라서 오라클은 대부분의 주요 운영체제뿐만 아니라 웹 브라우저, 스마트폰, 가전기기 등에서도 자바 가상 머신을 손쉽게 설치할 수 있도록 지원하고 있다.

#자바 가상 머신의 구성
1. 자바 인터프리터(interpreter) : 자바 컴파일러에 의해 변환된 자바 바이트 코드를 읽고 해석하는 역할을 하는 것이 자바 인터프리터이다.
2. 클래스 로더(class loader) : 자바는 동적으로 클래스를 읽어오기때문에, 프로그램이 실행중인 런타임에서야 모든 코드가 자바 가상 머신과 연결이된다. 이렇게 동적으로 클래스를 로딩해주는 역할을 하는것이
클래스 로더이다.
3. JIT컴파일러(Just-In-Time compiler) : 프로그램이 실행중인 런타임에 실제 기계어로 변환해주는 컴파일러를 의미한다. 동적 변역이라고도 불리는 이 기법은 프로그램의 실행 속도를 향상시키기 위해 개발되었다. 즉, JIT컴파일러는 자바 컴파일러가 생성한 자바 바이트 코드를 런타임에 바로 기계어로 변환하는데 사용한다.
4. 가비지 컬렉터(garbage collector) : 자바 가상 머신은 가비지 컬렉터를 이용하여 더는 사용하지 않는 메모리를 자동으로 회수해준다. 따라서 개발자가 따로 메모리를 관리하지 않아도 되므로, 더욱 손쉽게 프로그래밍을 할 수 있도록 도와준다.

#자바 프로그램
자바 프로그램은 한 개 이상의 클래스(class)로 구성된다.
이러한 클래스는 한 개 이상의 필드(field)나 메소드(method)로 구성된다.

class Test{	//클래스이름 
	String field;	//필드 선언 
    int field;	//필드 선언
    ...
    public void method1(){	//메소드 선언
    	System.out.println("안녕하세요");
    }
}

#main() 메소드
자바 프로그램이 실행되면 맨 먼저 main()메소드를 찾아 그 안의 모든 명령문을 차례대로 실행한다.
따라서 하나의 자바 프로그램에는 main()메소드를 가지는 클래스가 반드시 하나는 존재해야한다.
main()메소드는 반드시 public static void로 선언되어야 한다.

public static void main(String[]args){
	...
}

#명령문
자바 프로그램의 동작을 명시하고, 이 동작을 컴퓨터에 알려주는 것에 사용되는 문장을 명령문이라고 한다.
자바의 모든 명령문은 반드시 세미콜론(;)으로 끝나야 한다.

#주석
주석이란 코드에 대한 이해를 돕는 설명을 적거나 디버깅을 위해 작성하는 일종의 메모이다.
1. // 한줄 주석
2. /
여러줄 주석
/

#입출력 클래스(System.out.println())
System.out.println(출력할 데이터)

System.out.print(7)	//print()메소드는 줄 바꿈을 하지 않음.
System.out.println(3) //정수 3 출력
System.out.println(2.1) //실수 2.1 출력 
System.out.println("자바") //문자열 출력
System.out.println("자바"+"어려워") //문자열+문자열 출력
System.out.println("내 나이는"+27+"살 입니다.") //문자열+숫자 출력

좋은 웹페이지 즐겨찾기