본문 바로가기

개발(합니다)/Java&Spring

[java-기초-01] 자바란?

반응형

프로그래밍 언어란?

  • 사람이 아닌 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어를 사람의 언어와 이어주는 다리 역할을 하는 언어이다.
  • 고급 언어와 저급 언어로 구분되며 사람에게 친숙할 수록 고급언어라고 하며 java, c, c++ 등 우리가 알고 있는 프로그래밍 언어이고 저급 언어는 어셈블리어 같은 언어로 사람이 쉽게 이해하기 어려워 배우기 어렵다.

코드가 실행되는 과정

자바란

  • 1995년 썬 마이크로시스템즈에서 자바 언어를 발표했으며 오크라는 언어에서부터 시작되었으며 오크는 가전제품에 사용할 목적이었다.
  • C++언어에 비해 메모리와 CPU를 지나치게 많이 사용하여 윈도우 프로그래밍 언어로는 부적합했으나 인터넷이 활성화되면서 급부상했다.

자바의 특징

  • 이식성이 높은 언어이다. : JVM으로 어디서든 실행할 수 있다.
  • 객체 지향 언어이다. : 객체지향 프로그래밍(OOP)로 객체들간의 조립으로 전체 프로그래밍을 완성하는 기법이다.
  • 함수적 스타일 코딩을 지원한다. : 객체 지향 프로그래밍이 나오기 이전부터 있었던 함수형 프로그래밍을 지원하며 함수형 프로그래밍은 대용량 데이터의 병렬 처리와 이벤트 지향 프로그래밍에 적합하다.
  • 메모리를 자동으로 관리한다. : 메모리에 할당 된 영역이 사용이 완료되면 가비지 컬렉션을 실행하여 자동으로 사용하지 않는 객체를 제거시켜준다.
  • 다양한 애플리케이션을 개발할 수 있다. : 다양한 OS에서 개발할 수 있다.
  • 멀티 쓰레드를 쉽게 구현알 수 있다
  • 동적 로딩을 지원하다 : 애플리케이션이 실핼 될 때 모든 객체가 생성되지 않고 객체가 필요한 시점에 클래스를 동적 로딩해서 객체를 생성한다.

Java SE(Standard Edition) 기본 에디션 : 자바 프로그램들이 공통적으로 사용하는 자바 가상 기게(JVM)과 자바 프로그램 개발에 필요한 필수적인 도구, 라이브러리 API 정의한다.
Java EE(Enterprise Edition) 서버용 애플리케이션 개발 에디션 : 분산환경(네트웤, 인터넷)에서 서버 애플리케이션을 개발하기 위한 도구 및 라이브러리 API 정의하며 Servlet/JSP, 분산 처리 컴포넌트 EJB, XML 웹 서비스 등이 있다.

자바의 가상 기계(JVM)

  • 가상의 운영체제 역할을 한다.
  • 바이트 코드는 모든 JVM에 동일한 실행 결과를 보장하지만, JVM은 운영체제에 종속적이다.
  • .java로 소스를 작성하고 javac로 컴파일하며 .class인 바이트 코드로 JVM에서 해석되어 운영체제에 맞게 번역 후 실행한다.
    운영체제에 따른 실행 과정

자바 개발 환경 구축

  1. openjdk 설치 : 링크
  2. 환경변수 설정 : 내컴퓨터 - 속성 - 고급 시스템 설정 - 환경 변수 - 시스템 변수 - 새로 만들기 - JAVA_HOME과 Path에 등록
  3. 환경 구축 확인 : cmd에서 javac -version 실행

Hello 실행하기

  1. 메모장을 열고 Hello.java로 저장 후 아래 코드 작성
    public class Hello {
     public static void main(String[] args) {
         System.out.println("hello");
     }
    }
  2. 저장 한 파일 위치로 가서 cmd창 실행
  3. javac Hello .java 실행
  4. Hello.class 생성 확인 후 java Hello 실행

소스 분석

public class Hello { // Hello = 클래스 이름, { = 클래스 블록 
    public static void main(String[] args) { // main = 메소드 이름, { = 메소드 블록
        System.out.println("hello"); 
    } // } = 메소드 블록
} // } = 클래스 블록

주석과 실행문

주석 기호 설명
// //이 작성 된 이후부터 주석으로 한다(행 주석)
/* */ /*와 */ 사이에 있는 모든 범위를 주석으로 한다.(범위 주석)

실행문과 세미콜론(;)

  • 실행문은 변수 선언, 값 저장, 메소드 호출을 의미하며 실행문 마지막에는 반드시 세미콜론(;)을 붙여야한다.
  • 세미콜론(;)이 있어야지 문장이 끝났다고 본다.
    
    int x = 1;
    int y = 2;
    
    int z =  
        3;
    
반응형