Java: 개요 및 개발환경 구축
1. Java
Java의 특징
- 범용 개발언어: standalone app부터 web app, mobile에 이르기까지 다양한 곳에서 활용
- 객체지향 언어(OOP)
- 풍부한 API: 오픈소스이기 때문
- 플랫폼 독립적(platform independency)
- o/s(운영체제): 윈도우, 리눅스, 맥, 솔라리스 등
- DBMS: mysql, oracle, db2 등
- WAS(Web Application Server)
- 동적 바인딩
- 멀티쓰레드(JBM이 프로그램 단위에서 제공)
- 보안 우수
- complied 방식(수행속도 fast) +interpreted 방식(o/s 독립, 요즘은 이 장점이 더욱 부각)
- 수행속도는 하드웨어로 해결할 수 있는데, o/s 독립성은 그렇지 못하다.
- 기존 C, C++ 컴파일 방식에 비해선 느릴 수 있으나 운영체제 독립적(우리나라에서 많이 씀)
Java version history
- 1.0, 1.1: Java
- 1.2~1.4: Java2
- 1.5(5.0), 1.6(6)~1.8(8): Java, 오픈소스
- 실무에선 1.8 무료버전을 제일 많이 사용. 이거로 수업 진행할 예정
- 1.8.202 이후: 유료화
-
16버전: 현재
- OpenJDK: 무료
Java Edition
- JavaSE(Standard ed.): 앱 개발
- JavaEE(Enterprise ed.): 웹 개발(Servelt7JSP, EJB, JavaMail, JMS 등)
- JavaME(Micro ed.): 모바일 및 임베디드 개발
cf. 용어설명
객체(object)
- i.e. 자동차, 책, 냉장고, 홍길동
API(Application Programming Interface)
- 미리 만들어서 제공되는 라이브러리
- 미리 만들어져 있는 class들의 묶음
*.jar
- JavaSE API 모음:
t.jar
OS(플랫폼) 독립적(platform independency)
- 자바 실행환경(JRE: Java Runtime Env.)
java.exe
(실행명령어)- JRE = JVM(자바가상머신) + API
- 자바 개발환경(JDK: Java Development Kit)
javac.exe
(컴파일러)java.exe
(실행명령어)javadoc.exe
(api 문서 자동생성기)-
jar.exe
(클래스 묶음, *.jar, *.war, *.ear) - JDK = JRE + TOOLS(
javac.exe
(컴파일러) 등)
개발언어의 작동방식 종류
- complied 방식
- c, c++, vb 등
- (1) 소스코드작성:
Hello.cpp
- (2) 컴파일:
Hello.exe
(o/s lib 포함) - (3) 실행:
hello.exe
,HELLO.exe
- (1) 소스코드작성:
- 장점: 수행속도 fast
- 단점: o/s 종속적
- c, c++, vb 등
- interpreted 방식
- python, lisp, html 등
- 전제조건: 번역기(interpreter) 설치, 브라우저
- (1) 소스코드작성: hello.html, hello.py
- (2)
- (3) 번역 실행: 한줄 읽고 번역 실행
- 장점: o/s 독립적(단, 전제조건: 운영체제에 맞는 번역기가 필요)
- 단점: 수행속도 비교적 느림(다만, 하드웨어 발달로 현재는 크게 문제되지 않음)
Java 프로그래밍 개발 순서
-
(1) 소스코드작성: HelloWorld.java
-
(2) 컴파일:
-
명령프롬프트 > javac
HelloWorld.java => HelloWorld.class (byte code: 바이트코드, o/s lib 포함하지 않음. 중간 단계의 기계어)
-
-
(3) 자바 번역실행: JVM(Java Virtual Machine, 자바 가상머신)
- 명령프롬프트> java
HelloWorld - 실행시 주의사항
- 대소문자를 구분한다.
- 확장자를 포함시키면 안됨
- 반드시 실행메서드가 존재해야됨
- ‘자바 실행 메서드’:
public static void main(String[] args){}
- 실행시 주의사항
- 명령프롬프트> java
Java 프로그래밍 주의사항
주의사항
- 대소문자를 구분하므로 정확하게 표기해야 함
- 명령문 끝에는 반드시 ;(세미콜론)를 작성
- {}는 반드시 짝을 이뤄야 함
- 줄 맞추기(for 가독성)
- 이름 명명규칙 준수
식별자(identifier) 명명 주의사항
- 이름(클래스, 변수, 메서드, 패키지, 상수 등의 이름)
- 영문자나 밑줄, $ 등으로 시작할 수 있음
- 숫자도 사용가능, 그러나 시작문자로는 사용 못한다.
- 길이 제한 x
- 의미있는 이름으로 지정해야 함
- 약어는 가능한 한 전체적으로 지정(for 가독성, 분명한 의미전달)
- 용어집(설계: Data Dictionary)
- 예약어(keyword)는 식별자로 사용불가
- 공백도 불가능
이름 명명규칙(Naming Convention)
- 클래스이름: Upper camel case(대문자시작+대문자시작)
- i.e. HelloWorld, System, StringBuffer
- 변수이름: Lower camel case(소문자+이후대문자시작)
- i.e. length, companyName
- 메서드이름(): Lower camel case
- i.e. length(), toString()
- 패키지이름: (소문자.소문자)
- 물리적: 폴더(디렉토리) 개념
- 같은 종류의 클래스, 권한 제한을 목적으로 분리를 위한 개념 - i.e. java.lang, java.util, java.sql
- 상수이름: (모두대문자_모두대문자)
- i.e. PI, E, MAX_VALUE
- 커스텀 상수:
public static final 타입 상수명 = 상수값
예약어(keyword)
- Java에서 사용목적이 미리 정의되어 있는 식별자: 모두 소문자로 작성
- i.e. public, class, static, void, if, for, do, while
- 몇가지 예외사항
- 예약어이지만 지원x: const
- 예약어는 아니지만 식별자로 사용 자제: sizeof
- 예약어처럼 사용되는 상수: true/false, null
2. Java 개발환경 구축
설치 프로그램 목록
- JDK(자바 개발 도구)
- 자바 개발환경
- 오라클홈페이지 > 상단 products > software > java
- JDK 다운로드 링크
- API Documentation(API 도움말)
- Online
- Offline(권장, JDK 다운로드시에 동일버전으로 받을 것)
-
8u202(무료버전) + 8u301(documentation) 같이 다운로드
- 환경변수 설정
- JAVA_HOME = C:\Program Files\Java\jdk1.8.0_202
- PATH = %JAVA_HOME%/BIN;기존path
- Eclipse(IDE)
- 통합 개발환경 tool
- 장점: 오픈소스
- 공공기관, 엔터프라이즈(대기업) 등에서 이클립스 기반으로 개발
- eclipse 홈페이지
- 다운로드목록
- Eclipse IDE for Enterprise Java and Web Developers 최신버전으로 다운로드
-
압축해제(설치폴더):
C:\00.practice\eclipse
- 실행 후 환경설정(우상단에서 Java EE로 되어있는걸 open perspective 이용하여 Java로 변경)
cf. 로컬폴더 구조
- 기본폴더
C:\00.practice
- 프로그램 다운로드 폴더위치
down_apps
down_apps\jdk>
-down_apps\eclipse>
설치여부 및 버전확인
목적(실무)
-
실무에서 코드가 잘 돌아가지 않을 때 설치여부 및 버전확인을 하는 것이 중요하다.
-
다중 프로젝트 투입(운영) 시 다양한 jdk 버전을 활용하여야 하는 경우가 자주 발생
-
JDK(javac)
-
JRE(java)
방법
명령프롬프트
javac -version
직접 설치한 javac의 버전 확인
java -version
개발자는 아니지만, 다른 java관련 앱을 설치받아 사용할 때 버전값이 나온다.
path
기타 준비사항
한글 인코딩
– euc-kr, ksc5601: 한글, 영문
– utf-8(권장): 한글, 영문 + 다국어, html5, ajax(비동기통신)
이클립스 환경설정
-
단위: workspace단위, project단위, file단위
-
workspace 환경설정
- Window > preferences
- spelling: Encoding UTF-8
- encoding:
- Workspace Text file encoding UTF-8
- Web > html, css, jsp 모두: UTF-8
-
Java 설정
- Build path output folder name: bin -> classes
- complier: version 1.8로 변경
- installed JREs: C:\Program Files\Java\jdk1.8.0_202 (name: jdk1.8.0_202)(이렇게 버전이름으로 name을 설정해야 버전별로 나눠서 사용 손쉽게 가능)
Leave a comment