📌 Java 에디션
- SE(Standard Edition)
- EE(Enterprise Edition)
- ME(Micro Editio)
📌 SE(Standard Edition)
클라이언트 지향의 기본적인 환경
- 광범위한 컴퓨팅 플랫폼을 위한 안전하고 이식 가능한 고성능 애플리케이션을 개발할 수 있고 이기종 환경 전반에서 애플리케이션을 이용할 수 있게 함
📌 EE(Enterprise Edition)
서버 소프트웨어 개발을 위한 환경
- 엔터프라이즈 Java 컴퓨팅을 위한 업계 표준
📌 ME(Micro Edition)
PDA나 휴대전화 등 소형기기를 위한 소프트웨어 개발환경
- 자바 SE : 자바의 핵심 기능을 포함하는 표준 자바 플랫폼 ➡️ 데스크톱
- 자바 EE : 주로 분산 환경에서 필요한 서버용 자바 플랫폼 ➡️ 인터넷
- 자바 ME : 자원이 제한된 임베디드 시스템용 플랫폼 ➡️ 모바일
📌 자바 프로그래밍의 기본적인 흐름
- Java 프로그램을 작성하기 위한 편집기가 필요함
- 소스 프르그램을 바이트 코드로 변환하는 컴파일러가 필요함
- 컴파일러는 javac라는 파일로 JDK(Java Development Kit)에 포함되어 있음
- 독립적으로 프로그램을 실행하기 위해서는 java 가상머신이 필요한데 JRE(java runtime environment)에 포함되어 있음
📌 Java 소스코드(Source Code) 작성
- java라는 확장자(extension name)의 텍스트 파일로 Java문법에 따라 Java 소스코드를 작성함
📌 컴파일(Compile)
- 소스 파일을 컴파일함
- 오류가 없다면 class 확장자를 갖는 파일이 생성됨
📌 가상머신에 프로그램 탑재 및 실행(execution)
📌 Java JDK 다운로드
- 데이터베이스로 유명한 Oracle 회사가 Sun Microsystems 회사를 인수했기 때문에 Java 관련 소프트웨어도 Oracle 사이트에서 다운받음
- JDK(Java Development Kit) 패키지는 JRE(Java Runtime Environment)를 포함하고 있어 별도로 JRE(자바가상머신)를 다운받을 필요가 없음
오라클 사이트에 접속해 본인 컴퓨터 사양에 맞는, 원하는 버전의 파일을 다운로드 합니다.
📌 Java JDK 설치 완료 확인
- 명령 프롬프트 실행
- 명령 프롬프트(console창, Shell창, command창 등 다양하게 부름)
💡 자바 가상머신(JRE) 버전 확인
- java -version 입력 후 엔터
💡 자바 컴파일러(JDK) 버전 확인
- javac -version 입력 후 엔터
📌 Java 사용해보기
class Hello
{
public static void main(String[] ar) {
System.out.println("Hello Java!");
}
}
- 위의 코드로 Hello.java 파일을 생성합니다.
- 저는 InteliJ 패키지를 구독하고 있어서 InteliJ의 IDEA를 이용해 생성했습니다.
- Windows를 쓰고 있고 있는데 마땅한 프로그램이 없으신 분은 메모장이나 노트패드, 울트라에디터를 이용해도 괜찮습니다. 다만, 워드나 아래한글은 권장하지 않습니다.
(따옴표를 사용할 때 워드나 아래한글의 경우, 워드 프로세스용 따옴표이기 때문에 작동하지 못함)
- 메모장을 이용했다면 인코딩(E)는 UTF-8로 저장합니다.
(ANSI로 저장해도 되지만, 영어가 아닌 한글같은 문자를 쓸 때 오류가 발생함)
📌 명령 프롬프트 창을 실행한 후 컴파일
- 명령 프롬프트 창을 실행한 후 Hello.java를 저장한 폴더로 이동
- 컴파일러가 성공적으로 컴파일하면 화면에는 아무 출력도 나오지 않음
- Hello.java 소스코드가 성공적으로 컴파일되면 Hello.class 파일이 생성됨
- class 뒤에 지정한 문자열(클래스 이름)을 사용한 class 파일이 생성됨
- 컴파일 시에는 명령어 또는 파일의 대소문자를 구별하지 않음
- dir 또는 dir/b 명령을 실행해서 파일을 확인함
명령어 | 사용법 | 사용 예 |
---|
논리디스크 이동 | 논리디스크: | d: |
폴더(디렉토리) 이동 | cd 경로(폴더)명 | cd D:₩Java |
📌 유니코드
- 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준
- 유니코드협회(Unicode Consortium)가 제정
- 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있음
- 목적 : 현존하는 문자 인코딩 방법들을 모두 유니코드로 교체하려는 것
- 기존의 인코딩 들은 규모나 범위 면에서 한정되어있고, 다국어 환경에서는 서로 호환되지 않음
- 유니코드가 다양한 문자 집합들을 통합하는데 성공하면서 유니코드는 컴퓨터 소프트웨어의 국제화와 지역화에 널리 사용되게 되었음
- 비교적 최근의 기술인 XML, 자바, 그리고 최신 운영체제 등에서도 지원하고 있음
📌 UTF-8
- 유니코드는 2가지 매핑(mapping) 방식이 있음
- 유니코드 변환 형식(Unicode Transformation Format, UTF) 인코딩, 국제 문자 세트(Universal Coded Character Set, UCS) 인코딩이 있음
- UTF-8은 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나이고, UTF-8 인코딩은 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 사용함
- ASCII 인코딩은 UTF-8의 부분 집합이므로 일반적인 ASII 문자열은 올바른 UTF-8 문자열이라 하위 호환성이 보장됨
📌 GUI(Graphic User Interface)
- GUI를 갖는 프로그램을 비주얼 프로그램이라고도 함
- Swing 컴포넌트(라이브러리)를 사용해서 윈도우(창)을 보이게 하는 예제
- 소스코드 파일 저장 시 인코딩을 ANSI로 저장
import javax.swing.JFrame;
public class HelloSwing {
public static void main(String[] args) {
JFrame frame = new JFrame();
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setTitle("Hello Swing!");
myframe.setSize(300, 300);
myframe.setVisible(true);
}
}
- 그래픽 라이브러리를 사용하기 위한 코드 예제입니다.