ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DAY1. 자바의 특징
    기록 2022. 9. 8. 09:13

    자바

    1. 소스코드(.java) 작성한다.

    2. 소스코드(.java)를 실행파일(.class)로 변환 - 자바개발도구(jdk)에서 자바컴파일러(javac.exe)를 제공한다.

       javac.exe에 의해 소스파일(App.java) -----> 실행파일(App.class)을 생성한다. 

       

       javac.exe는 컴파일러(Compiler) 프로그램이다.

       * 컴파일 : 소스파일을 실행파일로 변환하는 작업을 의미한다.

     

    program Files > Java > jdk-17.0.4.1 > bin 폴더 안에 java와 javac가 있다.

    javac : 컴파일러, 소스코드를 실행파일로 만들어준다.

    java : 자바가상머신(jvm)을 실행시켜준다. 실행파일을 실행시켜준다.

    javadoc : 메뉴얼 문서를 만드는 도구

    jar : 패키징하는 도구

     

    3. 실행파일을 실행한다.

       java.exe 실행파일명

       * .class 확장자는 생략한다.

     ex) App.class 실행파일 실행하기

      java.exe App  (.class 생략! 소스코드 확장자는 여러개일 수 있지만 자바에서 실행파일은 무조건 .class라서)

      * 자바 가상머신이 실행되고, 자바 가상머신은 App.class 파일을 읽어서 실행한다.

     

    4. 프로그램이 실행된다.

    자바의 모든 프로그램은 컴퓨터가 수행할 작업이 정의된 작업지시서다.

    소스파일(.java) : 개발자용 작업지시서, 텍스트파일이다.

    실행파일(.class) : 자바가상머신용 작업지시서, 바이트코드파일이다.

                     * 바이트코드는 자바가상머신(jvm)이 이해할 수 있는 코드다.

                     * 컴파일러는 소스코드를 바이트코드로 변환한다.


    - 예약어(키워드) : 사용위치와 사용목적이 이미 결정된 키워드, 식별자로 사용할 수 없다. 

    - 식별자 : 고유한 이름이다. 패키지명, 클래스명, 메소드명, 변수명이 식별자다. 

    식별자는 개발자가 임의로 정하는 것이다. 식별자는 문자, 숫자, _만 사용할 수 있다.

    (단, main은 프로그램 실행의 진입점이기 때문에 변경할 수 없다.)

    값을 식별자와 구별하기 위해 "" 안에 작성한다. 숫자로 시작하는 식별자는 없기 때문에 쌍따옴표를 적지 않는다.

    - 수행문 : 메서드 안에 적은 문장


    - 크로스 플랫폼을 지원한다.

      : 자바가상머신이 설치되어 있기만 하면 운영체제나 하드웨어 플랫폼에 상관없이 자바응용프로그램을 실행할 수 있다.

    - 객체지향프로그래밍 언어다.

      : 레고블록을 조립하듯이 각각의 블록에 고유한 기능을 구현하고, 그 블록들을 조립해서 완성된 프로그램을 개발하는 방식이다.

      : 블록 하나하나가 객체에 해당되며, 그 블록은 설계도를 이용해서 만들어진다.

      : 하나의 설계도로 같은 블록을 여러 개 만들어 내는 게 가능하다.

      : 기존 블록보다 더 좋은 블록이 개발되면 언제든지 새로운 블록으로 교체가능하다.

      : 재사용성, 확장성이 매우 뛰어나다.

    - 플랫폼 독립적인 언어다.

      : 시스템의 소프트웨어, 하드웨어 사양에 상관없이 자료형이 크기가 고정적이다. (c언어의 경우 가변적으로 변한다. 시스템에 따라 정수의 최소 범위, 최대 범위가 달라진다, 자바는 값을 예상할 수 있다. 최소 범위, 최대 범위는 예측 범위 내에 있다. -> 시스템 독립적인 언어)

    - 자바가상머신이 메모리 관리 작업을 자동으로 수행한다.

      : 개발자가 메모리 관리기능을 신경 쓸 필요 없이 업무로직의 구현에만 집중할 수 있게 한다.

    - 멀티쓰레드를 지원한다. (쓰레드는 한번에 동시 실행되는 것을 말한다.)

    - 함수형 프로그래밍을 지원한다. (java8부터 지원)

     

     

    댓글

Designed by Tistory.