[이것이 자바다 - 1] 자바란?

Uicheon·2022년 3월 26일
0

이것이 자바다

목록 보기
1/8
post-thumbnail

1장 자바 시작하기

1-1 프로그래밍 언어란?

일반적으로, 프로그래밍 언어(ex C, C++, JAVA, Python)은 고급 언어라고 한다.

  • 기계어(0,1)을 이해하기 어렵기에 사람의 언어와 기계어의 다리역활
  • 고급 언어(사람의 언어) -> 컴파일 -> 기계어
  • 저급 언어(기계어에 가까움) ex)어셈블리어

프로그램이란 컴퓨터에서 특정 목적을 수행하기 위해 프로그래밍 언어로 작성된 소스를 기계어로 번역 한 것

  • 소스 : 고급언어로 작성된 내용
  • 소스 -> 컴파일 -> 기계어

1.2 자바란?

1.2.1 자바 소개

  • 1995년 썬 마이크로 시스템즈에서 자바 발표
    image

1.2.2 자바의 특징

이식성 : 다른 실행 환경을 가진 시스템 간 프로그램 실행 가능 (ex 리눅스<->윈도우<->Mac OS)

  • 이식성(portability)이 높다.
  • 자바 실행 환경 JRE(Java Runtime Environment)이 있다면, 소스 파일 수정, 재컴파일 과정이 필요하지 않다.
  • 객체 지향(OOP) 언어이다.
    image
  • 자바는 아무리 작은 프로그램이라도 객체를 만들어 사용한다.
  • 함수적 스타일 코딩을 지원한다.
  • 메모리를 자동으로 관리한다. (Garbage Collector)
  • 다양한 애플리케이션을 개발할 수 있다. (다양한 운영체제에서 사용 가능하다.)
  • 멀티 스레드를 쉽게 구현할 수 있다.
    자바는 스레드 생성 및 제어와 관련된 라이브러리를 제공한다. (운영체제에 상관이 없다!)
  • 동적 로딩(Dynamic Loading)을 지원한다.

    동적 로딩이란? 애플리케이션이 실행될 때 모든 객체가 생성되는 것이 아니라, 필요한 시점에서 로딩이 된다.
    즉, 유지보수가 발생하더라도 해당 클래스만 재컴파일하면 된다.(전체를 컴파일할 필요가 없다.)

  • 막강한 오픈소스 라이브러리가 풍부하다.

1.2.3 자바 가상 기계(JVM)

  • 자바 프로그램 != 완전한 기계어
  • 이를 해석하는 가상의 운영체제 -> JVM
    image
  • 바이트 코드(*.class)는 모든 JVM에 동일한 실행 결과를 보장하지만 (Thread도요?) JVM은 운영체제에 종속적이다.

1.3 자바 개발 환경 구축

1.3.1 JDK 설치

JDK 설치 -> 환경 변수 설정(+버전확인)

1.3.2 API 도큐먼트

1.4 자바 프로그램 개발 순서

1.4.1 소스 작성에서부터 실행까지 (머리부터 발끝까지!)

  • 소스파일 (*.java) -(컴파일러, javac.exe)> 바이트코드 파일(*.class) -> JVM 구동(java.exe) -> 기계어

1.4.2 프로그램 소스 분석

  • 클래스 : 필드/메소드를 포함하는 블록
public class Hello{
}
  • 메소드 : 어떤 일을 처리하는 실행문을 모아놓은 블록
public static void main(String[] args){
}

알고 계셨나요? JVM은 main() 메소드를 먼저 찾아서 실행 시킵니다.
이를 entry point 라고도 합니다.
main() method가 없는 클래스를 실행시키면 에러를 뱉습니다. (psvm)

1.5 주석문과 실행문

1.5.1 주석 사용하기

image

기호///*~*/
기능행 주석범위 주석

1.5.2 실행문과 세미콜론(;)

  • 실행문 : 변수 선언, 값 저장, 메소드 호출에 해당하는 코드를 말한다
  • 실행문에 마지막에 반드시 세미콜론(;)을 붙여야 한다. (컴파일러는 실행문의 끝을 세미콜론으로 구분한다.)

1.6 이클립스 설치

image
인텔리제이를 생활화 합시다.

profile
컨셉입니다~

0개의 댓글