JAVA(243)
-
JAVA의 JVM, JRE, JDK 정리
JVM, JRE, JDK에 대해서 설명하기 전에 소스코드의 컴파일 과정에 대해서 설명하겠습니다. 소스코드의 컴파일 과정 컴퓨터에게 어떤 일을 수행시키기 위해서는 소스코드를 컴파일하는 과정이 필요하다. 왜냐하면 컴퓨터는 사람이 작성한 소스코드를 바로 해석해 일을 수행하지 않고 기계어만을 통하여 일을 수행하기 때문이다. 따라서 위의 그림과 같이 소스코드는 컴파일러(compiler)에 의해서 컴파일(compile)이 수행되어 바이너리 코드로 생성되고 컴퓨터는 바이너리 코드를 해석하여 모니터(콘솔)에 출력한다. 컴파일(compile) : 사람이 작성한 소스코드(.java, .c, .cpp)등을 기계어로 번역하는 과정 컴파일러(compiler) : 컴파일을 수행하는 프로그램 바이트 코드(바이너리 코드) : 기계어..
2021.06.30 -
JAVA SE, JAVA EE, JAVA ME 차이
Java Platform, Standard Edition(Java SE) Java SE는 데스크톱 및 서버, 최근의 고사향 임베디드 시스템을 위한 표준 자바 플랫폼으로 표준적인 컴퓨팅 환경을 지원하기 위한 자바 가상 머신(JVM, Java Virtual Machine) 규격 및 API(Application Programming Interface) 집합을 포함한다. 따라서 자바 EE, 자바 ME 등 다른 플랫폼은 구체적인 목적에 따라 자바 SE를 기반으로 API를 추가하거나 자바 가상 머신 규격 및 API의 일부를 택해서 정의된다. Java SE는 자바의 표준판으로써 반복문, 데이터 타입, 조건문, 객체지향설계, 클래스, 상속관계, 인터페이스, 제너릭과 같은 개념들에 대해서 정의되어 있다. 우리는 Java..
2021.06.30 -
Comparable vs Comparator in Java
자바는 클래스의 데이터 멤버를 사용하여 객체를 정렬할 수 있는 2가지 인터페이스를 제공한다. Comparable Comparator Comparable 인터페이스의 사용 Comparable 객체는 자신을 다른 개체와 비교할 수 있다. Comparable 인터페이스를 사용하고자 하는 클래스는 객체들을 비교하기 위해서 java.lang.Comparable 인터페이스를 상속(implements)받아 구현해야 한다. 예를 들어 Movie 클래스가 존재할때 데이터 멤버로는 등급(rating), 이름(name), 개봉년도(year)와 같은 멤버를 가질수 있다. 개봉년도를 기반으로 영화들의 정렬을 원한다고 가정할 때 Movie 클래스는 Comparable 인터페이스를 상속받을 수 있다. 그리고 Movie 클래스는 C..
2021.06.25