[Java 기초] Java?

hyeo_nii·2023년 7월 15일
0

Java 기초

목록 보기
1/1

Java의 기본적인 3가지 특징

  1. 객체지향(object-oriented) 언어
    • 프로그램의 기능을 그룹별로 나누고, 이것을 조합하여 프로그램을 작성해 나간다는 개념이다.
    • Java를 사용하면 보다 복잡하고 수준 높은 프로그램을 만들 수 있다.
  1. 실행 파일 수준의 호환성
    • 기존의 프로그램은 대응하는 기본 운영체제 상에만 동작한다.
    • Java 프로그램은 Java VM(가상머신)이라는 실행 환경만 있으면 어디서든지 실행할 수 있다.
  1. 개발 환경이 충실
    • Java 개발 툴은 웹에서 무료로 다운로드할 수 있다.
    • 풍부한 기술을 포함하고 있는 라이브러리들을 표준으로 이용할 수 있어 다양한 스타일의 프로그램을 만들 수 있다.

Java로 할 수 있는 것

  1. CUI(Character User Interface) 응용프로그램
    • 명령 프롬프트나 MS-DOS 프롬프트처럼 문자 기반의 실행 환경
    • CUI 환경에서 동작하는 프로그램은 많은 프로그램의 기본형이다.
  1. GUI(Graphic User Interface) 응용프로그램
    • 정해진 폰트의 글자만 보여주는 CUI 대신 윈도우처럼 그래픽으로 표시되는 실행 환경
    • Java를 이용하여 윈도우즈 응용프로그램 같은 프로그램을 만들 수 있다.
  1. Java 애플릿(Applet)
    • Web 브라우저 상에서 동작하는 프로그램
    • HTML 문서 안에서 애플릿을 지정하면 web 서버로부터 자동으로 다운로드되어 클라이언트의 web 브라우저 상에서 동작한다.
  1. Java 서블릿(Servlet)
    • web 서버 상에서 동작하는 Java 실행 파일
    • 서버에서 동작하는 다른 형태의 프로그램에는 CGI(Common Gateway Interface)가 있는데, 이것보다 효율적이므로 사용이 증가하고 있다.
    • 서버에서 실행되고, 실행한 후 web 페이지를 클라이언트에게 보내준다.
    • 서버에서 실행되고, 실행한 후 web 페이지를 클라이언트에게 보내준다.
  1. JSP(Java Server Page)
    • HTML 문서와 Java 프로그램을 조합하여 동적인 web 페이지를 간단히 만들 수 있다.
    • 서블릿 프로그램의 기능을 HTML 파일 내에 스크립트 형식으로 구한하는 기술
    • JSP는 서버에서 서블릿으로 변환되어 실행되고 그 결과를 클라이언트에게 보내준다.
    • HTML 문서 안에 Java 코드를 삽입하는 형태로 작성한다.
  1. Java 빈즈(Java Beans)
    • Java로 작성한 프로그래을 부품(컴포넌트)으로서 다루는 것이다.
    • 이 부품을 조합하여 애플리케이션을 간단하게 만들 수 있다.

✨ Java VM (JVM, 자바 가상머신)

Java로 작성된 프로그램을 실행하기 위한 환경

  • Java 프로그램의 실행 파일은 플랫폼에 의존하지 않는 바이트 코드 로 만들어진다.
  • 바이트 코드를 기종 고유의 코드로 변환하여 실행하는 기능을 가지고 있다.
  • Java VM만 있으면 기종이나 운영체제(operating sytem)에 관계없이 Java 프로그램을 실행 할 수 있다.
  • Windows에는 Windows용 JVM을, Unix/Linux에는 Unix용 또는 Linux용 JVM을, Mac에는 Mac용 JVM을 설치해야 한다.
  • JVM의 역할을 하는 소프트웨어를 JAVA 소프트웨어 또는 JRE(JAVA runtime environment)라고 한다.

Java 에디션(edition)

  1. SE(Standard Edition) - 클라이언트 지향의 기본적인 환경
    • 자바의 핵심 기능을 포함하는 표준 자바 플랫폼
    • 광범위한 컴퓨팅 플랫폼을 위한 안전하고 이식 가능한 고성능 애플리케이션을 개발할 수 있고 이기종 환경 전반에서 애플리케이션을 이용할 수 있게 한다.
  1. EE(Enterprise Edition) - 서버 소프트웨어 개발을 위한 환경
    • 주로 분산 환경에서 필요한 서버용 자바 플랫폼
    • 엔터프라이즈 Java 컴퓨팅을 위한 업계 표준
  1. ME(Micro Edition) - PDA나 휴대전화 등 소형기기를 위한 소프트웨어 개발환경
    • 자원이 제한된 임베디드 시스템용 플랫폼

Java 프로그래밍의 기본적인 흐름

- Java 프로그램을 작성하기 위한 '편집기'가 필요
- 소스 프로그램을 바이트 코드로 변환하는 '컴파일러'가 필요
- 컴파일러는 'javac'라는 파일로 JDK(Java Developer Kit)에 포함되어 있다.
- 독립적으로 프로그램을 실행하기 위해서는 'java 가상머신'이 필요한데 
	JRE(Java runtime environment)에 포함되어 있다.

  1. Java 소스코드 (source code) 작성
    • java라는 확장자(extension name)의 텍스트 파일로 Java 문법에 따라 Java 소스코드를 작성
    • *.java
  1. 컴파일(compile)
    • 소스 파일을 컴파일
    • 오류가 없다면 class 확장자를 갖는 파일이 생성 된다.
    • *.class
  1. 가상머신에 프로그램 탑재 및 실행(execution)
    • class 파일을 가상머신에 탑재해서 실행

📌 Java downloads

👀 Java 17 api document

자바 가상머신(JRE) 버전 확인


자바 컴파일러(JDK) 버전 확인




Hello.java 예제 프로그램


1) 메모장을 이용해서 다음 소스코드를 편집한 후 적당한 폴더에 Hello.java로 저장 (인코딩 UTF-8)
파일명: Hello.java
클래스명: Hello

=> 확장자를 제외한 파일명과 실행 클래스명은 대소문자까지 동일

2) 명령 프롬프트 창을 실행한 후 컴파일
명령어사용법사용 예
논리디스크 이동논리디스크:d:
폴더(디렉토리) 이동cd 경로(폴더)명cd D:\Java

3) 컴파일 javac Hello.java

- 컴파일러가 성공적으로 컴파일하면 화면에는 아무 출력도 나오지 않는다.

- Hello.java 소스코드가 성공적으로 컴파일 되면 Hello.class 파일이 생성된다.

- class 뒤에 지정한 문자열(클래스 이름)을 사용한 class 파일이 생성된다. 

- 컴파일 시에는 명령어 또는 파일의 대소문자를 구별하지 않는다.

- dir 또는 dir /b 명령을 실행해서 파일을 확인해 본다.
4) Hello.class를 실행
5) java 컴파일 시 java 소스 파일명

- java Hello라고 입력하면 화면에 Hello Java! 라고 출력된다.

- java 실행 시 '클래스 파일의 대소문자를 구별'하므로
	java hello, java HELLO라고 하면 실행되지 않는다.
    
- 컴파일 및 실행을 연속적으로 수행하므로 편리히다.  



Hanja.java 예제 프로그램

❗파일 저장 시 인코딩 UTF-8으로 했을 경우 컴파일시 에러 발생(Windows에서 ANSI를 기본으로 함)
방법1) 인코딩을 ANSI로 설정
- 파일 저장 시 인코딩을 ANSI 설정 후 저장
- 컴파일 후 실행

방법2) 컴파일러에 인코딩 옵션을 지정한 후 컴파일 및 실행




GUI(Graphic User Interface) 예제 프로그램

- GUI를 갖는 프로그램을 비주얼 프로그램이라고도 한다.

- Swing 컴포넌트(라이브러리)를 사용해서 윈도우(창)을 보이게 하는 예제

- 소스코드 파일 저장 시 인코딩을 ANSI로 저장

컴파일 및 실행

실행 결과

0개의 댓글

관련 채용 정보