'Hello, Java' 문장을 화면에 출력하는 프로그램 만들기

1. 첫 프로젝트 만들기

http://minimelody.tistory.com/151 - 자바 프로젝트 생성 참고


2. 첫 번째 클래스 만들기

자바 프로그램은 모두 클래스 기반으로 구성된다. 이클립스 화면에서 프로젝트를 선택하고 오른쪽 마우스를 클릭하면 메뉴가 나온다. 먼저 패키지(package)를 만들어야 하므로 New - Package를 선택한다.

* 클래스(class)란 객체를 소스 코드로 나타낸 것

* 패키지란 프로그램 소스의 묶음으로 클래스를 만드는 데 반드시 필요


3. 패키지 이름을 적고 Finish를 누른다.

* 패키지 이름은 항상 소문자로 쓴다.


4. 패키지 아래에 클래스를 만든다. 패키지를 선택하고 오른쪽 마우스 버튼을 클릭해서 New - Class 메뉴를 선택한다.


5. New Java Class 창이 나타난다. 클래스 이름을 적고 public static void main(String [] args) 항목을 선택하여 main( ) 함수를 추가하고 Finish 버튼을 누른다. main( ) 함수란 프로그램의 첫 시작점을 의미한다.


6. 클래스 파일이 만들어지면 소스 코드 몇 줄이 자동으로 생성된다. main( ) 함수 내부에 적혀 있는 // TO DO~ 문장을 지우고

System.out.println("Hello, Java");

를 작성한다.


7. 이클립스는 빌드 자동화(Build Automatically) 옵션이 기본으로 설정되어 있어서 파일을 저장하면(Ctrl + S) 자동으로 컴파일된다. 저장 후 Ctrl + F11을 눌러서 프로그램을 실행한다. 프로그램을 실행하면 이클립스 아래쪽의 콘솔(console) 창에서 실행 결과를 볼 수 있다.

* 빌드란 컴파일러가 소스 코드를 컴파일하여 실행 파일을 만드는 과정. 자바는 빌드 과정을 통해 .class 파일이 만들어진다.

* 컴파일은 프로그래밍 언어를 기계어로 번역해 주는 과정


주석으로 소스 코드 정보 표시하기

주석은 프로그램에 설명을 추가하거나 특정 코드가 컴파일되지 않도록 처리할 때 사용한다. 특히 소스 코드 설명을 주석으로 잘 작성해 놓으면 나중에 본인이나 다른 개발자가 프로그램을 볼 때 이해하기 쉽다.


- 한 줄 주석 표시하기

문장 앞에 // 표시를 하면 주석으로 처리되고 컴파일되지 않는다. 간단한 테스트 코드를 작성하거나 코드 바로 옆에서 설명을 하는 데 주로 쓰인다.


- 여러 줄 주석 표시하기

/*, */ 기호로 주석의 시작과 끝을 나타낼 수 있다. 코드의 여러 줄을 한꺼번에 주석 처리하거나 코드에 대해 길게 설명할 때 사용한다.


스프링은 버전에 따라 JDK의 제한이 있으므로 주의해야 한다.

- 5.x의 경우 JDK 1.8 이상

- 4.x의 경우 JDK 1.6 이상

- 3.x의 경우 JDK 1.5 이상


JDK 설치

http://minimelody.tistory.com/150에서 JDK 8 설치


Eclipse 설치

Eclipse는 https://www.eclipse.org/downloads를 이용해서 다운로드할 수 있다.


Eclipse 설치는 'Eclipse IDE for Java EE Developers' 항목으로 설치한다. 설치되는 동안 필요한 파일들은 자동으로 다운로드된다.


workspace의 UTF-8 설정

Window - Preferences - General - Workspace에서 확인/변경이 가능하다.


HTML, CSS, JSP 파일에 대한 설정 역시 'Web' 메뉴를 통해서 'UTF-8'을 사용하도록 설정한다.


Eclipse를 이용하는 경우 스프링 플러그인 설치

https://spring.io/tools에서 'See all versions'를 클릭하면 기존의 이클립스에 추가할 수 있는 플러그인들의 정보를 찾을 수 있다.


이클립스 버전에 해당하는 UPDATE SITES 내용을 복사한다.


이클립스의 Help 메뉴에서 Install New Software..를 선택한다.


Add를 선택하고 복사한 Update Sites의 내용을 추가한다.


Select All을 클릭하여 설치 항목을 모두 선택하고 설치를 진행한다.


플러그인의 설치가 완료되면 이클립스를 'Restart'하게 된다. 이클립스의 재시작 후에는 화면 오른쪽 상단에 'Perspective' 항목에 'Spring' 항목이 추가된 것을 확인할 수 있다.


Tomcat 9(8) 서버 설정

Tomcat을 사용할 때에는 http://tomcat.apache.org/whichversion.html 문서를 통해서 자신의 환경에 맞는 버전을 이용해야 한다.


http://tomcat.apache.org를 통해서 Tomcat 9.0 버전을 이용한다. 만약 Spring 4.x로 진행한다면 Tomcat 8.x 버전을 이용해도 무방하다. zip이나 tar.gz 등의 압축형태를 다운로드해서 C 드라이브 밑에 압축을 해제하고 사용한다.


Eclipse에서는 Window - Preferences 메뉴의 Server - Runtime Environments 항목을 통해서 추가한다. Add 버튼을 통해서 Apache Tomcat 9를 선택하고, Tomcat이 설치된 경로를 지정해준다.

자바 애플리케이션 개발 환경

1. 데이터베이스 설치

① 오라클 데이터베이스 설치

② 사용자 계정 생성

③ 테이블 생성

2. 자바 설치

① 자바 설치 및 설정

3. 라이브러리 다운로드

① 마이바티스 라이브러리 다운로드

② JDBC 라이브러리 다운로드

4. 이클립스 설치

① 이클립스 설치 및 설정

5. 자바 프로젝트 생성

① 자바 프로젝트 생성

② 라이브러리 복사 및 빌드 경로 설정

③ 인코딩 설정


1. 데이터베이스 설치

① 오라클 데이터베이스 설치

http://minimelody.tistory.com/146와 동일하므로 PASS~


② 사용자 계정 생성

CREATE USER mybatis IDENTIFIED BY mybatis;

GRANT CONNECT, RESOURCE, DBA TO mybatis;

관리자 계정으로 접속하고 다음 명령어를 순서대로 실행하면, 사용자 계정을 생성하고 권한을 부여할 수 있다.


③ 테이블 생성

SHOP 테이블

컬럼명 

타입 

길이 

구분 

설명 

SHOP_NO

NUMBER 

 

기본키 

가게 번호 

SHOP_NAME

VARCHAR2 

100 

 

가게 이름 

SHOP_LOCATION 

CLOB 

 

 

가게 주소 

SHOP_STATUS 

VARCHAR2 

 

가게 상태 


TOY 테이블

컬럼명 

타입 

길이 

구분 

설명 

TOY_NO 

NUMBER 

 

기본키 

장난감 번호 

TOY_NAME 

VARCHAR2 

100 

 

장난감 이름 

TOY_PRICE 

NUMBER 

 

 

장난감 가격 

SHOP_NO 

NUMBER 

 

참조키 

장난감을 보유한 가게 번호 


/* 가게 테이블 생성 */

CREATE TABLE SHOP (

SHOP_NO NUMBER NOT NULL ENABLE,

SHOP_NAME VARCHAR2(100 BYTE),

SHOP_LOCATION CLOB,

SHOP_STATUS VARCHAR2(1 BYTE),

CONSTRAINT SHOP_PK PRIMARY KEY (SHOP_NO)

);


/* 가게 테이블 데이터 등록 */

INSERT INTO SHOP VALUES (1, 'Toy Store', 'A Tower Seocho dong', 'Y');

INSERT INTO SHOP VALUES (2, 'Play Store', 'B Tower Seocho dong', 'Y');

INSERT INTO SHOP VALUES (3, 'Mom Store', 'C Tower Seocho dong', 'Y');


/* 장난감 테이블 생성 */

CREATE TABLE TOY (

TOY_NO NUMBER NOT NULL ENABLE,

TOY_NAME VARCHAR2(100 BYTE),

TOY_PRICE NUMBER,

SHOP_NO NUMBER NOT NULL ENABLE,

CONSTRAINT TOY_PK PRIMARY KEY (TOY_NO)

);


/* 장난감 테이블 데이터 등록 */

INSERT INTO TOY VALUES (1, 'Lego (Model-A100)', 30000, 1);

INSERT INTO TOY VALUES (2, 'Lego (Model-A200)', 60000, 1);

INSERT INTO TOY VALUES (3, 'Lego (Model-A300)', 90000, 1);


COMMIT;


/* 가게 번호 시퀀스 생성 */

CREATE SEQUENCE SEQ_SHOP_NO INCREMENT BY 1 START WITH 4;

위와 같이 작성한 SQL 스크립트를 실행하고


SELECT * FROM SHOP;

SHOP 테이블과


SELECT * FROM TOY;

TOY 테이블에 등록한 초기 데이터를 확인할 수 있다


오라클 데이터베이스를 설치하면, 웹 애플리케이션에서 오라클 데이터베이스를 관리할 수 있는 웹 관리 콘솔이 함께 설치된다. 

관리자(SYSTEM) 계정에서

SELECT dbms_xdb.gethttpport FROM dual;

설치된 웹 관리 콘솔은 다음과 같이 8080 포트 번호를 기본 포트 번호로 사용한다. 8080 포트 번호는 아파치 톰캣에서 사용하는 기본 포트 번호와 동일한 포트 번호다. 동일한 포트 번호를 사용하면, 포트 번호 충돌로 인해 웹 서비스 실행이 안 되는 문제가 발생한다.


BEGIN

dbms_xdb.sethttpport(8081);

END;

다음 명령어를 실행하여 웹 관리 콘솔의 포트 번호를 8080에서 8081로 변경한다. 


변경한 웹 관리 콘솔의 포트 번호를 반영하기 위해서 반드시 오라클 데이터 베이스를 다시 시작해야 한다. 우선 오라클 데이터베이스를 정지하려면, 윈도우 메뉴에서 Oracle Database 11g Express Edition - Stop Database를 선택한다. 

오라클 데이터베이스를 다시 시작하려면, 윈도우 메뉴에서 Oracle Database 11g Express Edition - Start Database를 선택한다.



2. 자바 설치

① 자바 설치 및 설정

자바 설치 버전은 마이바티스 프로그래밍 개발 환경에 전반적인 영향을 미친다. 자바 설치 버전을 결정할 때 '이클립스 설치 버전, 아파치 톰캣 설치 버전', '스프링 라이브러리 버전', '마이바티스 라이브러리 버전', '마이바티스-스프링 라이브러리 버전', '기타 라이브러리 버전' 을 함께 고려해야 한다.


여기서는

이클립스 - 4.6 버전

아파치 톰캣 - 8.0.36 버전

마이바티스 라이브러리 - 3.4.1 버전

스프링 라이브러리 - 4.3.1 버전

마이바티스 - 스프링 연동 라이브러리 - 1.3.0 버전


이클립스 4.6 버전과 아파치 톰캣 8.0.36 버전은 자바 7 이상 버전이 필요하고, 마이바티스 3.4.1 버전과 스프링 4.3.1 버전은 자바 6 이상 버전이 필요하다. 마이바티스 - 스프링 연동 1.3.0 버전은 마이바티스 버전에 따라 자바 6이상 버전이 필요하다. 따라서 자바 7 버전 이상을 설치해야 한다.


http://minimelody.tistory.com/150에서 JDK 8 버전 설치 완료!



3. 라이브러리 다운로드

① 마이바티스 라이브러리 다운로드

https://github.com/mybatis/mybatis-3/releases에서 마이바티스 라이브러리를 다운로드한다. 마이바티스 3.4.1 버전을 사용한다.

* 마이바티스 라이브러리 3.2.0 이하 버전까지는 자바 5 버전에서 사용 가능하다. 반면에 마이바티스 라이브러리 3.2.0 이상 버전은 자바 6 이상 버전을 사용해야 한다.


다운로드한 mybatis-3.4.1.zip 압축 파일을 해제하면   mybatis-3.4.1.jar  파일이 있다.


② JDBC 라이브러리 다운로드

www.oracle.com/technetwork/database/features/jdbc/index-091264.html이나


오라클 데이터베이스가 이미 설치되어 있다면, JDBC 라이브러리를 별도로 다운로드 하지 않고 

C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 에서   ojdbc6.jar파일을 찾아 사용할 수 있다.


마이바티스는 3.3.0 버전부터 기본 프록시 도구로 Javassist를 사용한다. 만일 다른 프록시 도구를 사용할 필요가 있는 경우 라이브러리를 추가로 다운로드해야 한다. 예를 들어 Cglib 프록시를 사용하는 경우 다음 URL 주소에서 CGLIB 라이브러리와 ASM 라이브러리를 다운로드할 수 있다. 


CGLIB 3.2.4 : http://mvnrepository.com/artifact/cglib/cglib/3.2.4 -   cglib-3.2.4.jar

ASM 5.1 : http://mvnrepository.com/artifact/org.ow2.asm/asm/5.1 -   asm-5.1.jar


아파치 Log4j2 라이브러리는 https://logging.apache.org/log4j/2.x/download.html에서 다운로드할 수 있다.


apache-log4j-2.11.1-bin.zip 압축 파일을 해제하면, 

log4j-api-2.11.1.jar

log4j-core-2.11.1.jar

log4j-slf4j-impl-2.11.1.jar

가 자바 프로젝트에서 사용하는 라이브러리이다.



4. 이클립스 설치

① 이클립스 설치 및 설정

이클립스 버전 

 자바 버전

4.4 이상 버전 

1.7 이상 버전 

4.x ~ 4.3 이하 버전 

1.6 이상 버전 

3.x 버전 

1.5 이상 버전 

2.x 버전 

1.4 이상 버전 


http://www.eclipse.org/downloads/packages/release/neon/3에서 이클립스 4.6버전을 다운로드한다. 


다운로드한 eclipse-jee-neon-3-win32-x86_64.zip 압축 파일은 별도로 설치 과정 없이 압축 파일을 해제한 다음 바로 실행할 수 있다.

C:\Program Files\에 압축 해제한 eclipse를 위치한다. eclipse 내에 eclipse.exe 파일을 실행하면 이클립스가 실행된다.


처음 이클립스를 실행하면, Workspace Launcher 대화상자가 나타난다. 워크스페이스는 이클립스 설정 정보와 소스 코드를 저장한 공간을 말한다. Workspace Launcher 대화상자를 살펴보면, 사용자 계정 하위 경로가 워크스페이스 저장 경로로 지정된 것을 볼 수 있다. 워크스페이스 저장 경로를 변경할 필요가 있다면, Browser.. 버튼을 눌러 원하는 경로를 지정한 다음 OK 버튼을 누른다.



5. 자바 프로젝트 생성

① 자바 프로젝트 생성

이클립스 상단 메뉴바에서 File - New - Project 메뉴를 선택한다. New 대화상자가 나타나면, Java Project 항목을 선택한 다음 Next 버튼을 누른다.


New Java Project 대화상자가 나타나면, Project name 입력 항목에 프로젝트명을 입력한 다음 Finish 버튼을 누른다.


자바 프로젝트 생성을 완료하면 Package Explorer 뷰에서 자바 프로젝트를 확인할 수 있다.


② 라이브러리 복사 및 빌드 경로 설정

/chapter01/lib 디렉토리를 생성한 다음 앞서 다운로드한 라이브러리를 복사한다.


자바 프로젝트에 복사한 라이브러리를 빌드 경로에 등록한다. 자바 프로젝트를 선택한 다음 마우스 우측 버튼을 누른다. 항목 중 Properties 메뉴를 선택하면, Properties 대화상자가 나타난다. Properties 대화상자 좌측 목록 중 Java Build Path 항목을 선택하고 Libraries 탭을 선택한 다음 Add JARs... 버튼을 누르면, JAR Select 대화상자가 열린다. /chapter01/lib 디렉토리에 포함된 모든 라이브러리를 선택한 다음 OK 버튼을 눌러 빌드 경로 설정을 완료한다.


빌드 경로에 라이브러리를 등록하면, Referenced Libraries 목록에서 등록한 라이브러리를 확인할 수 있다.


③ 인코딩 설정

자바 프로젝트에서 소스 코드를 작성할 때 한글이 깨지는 것을 방지하기 위해서 인코딩을 UTF-8로 설정한다. 인코딩 설정은 Properties에서 지정할 수 있다. Properties 대화상자 좌측 목록 중 Resource 항목을 선택하면, 우측 영역이 바뀐다. 우측 Text file Encoding 영역에서 UTF-8을 선택한 다음 OK 버튼을 눌러 인코딩 설정을 완료한다.

미친짓 시작해본다. 어떤 식으로 프로그래밍을 공부하는 게 좋을까? 여러가지를 시도해봤지만 인강은 나와 전혀 맞지 않는다. 보다보면 졸림.. 그렇다고 강사님 자료만 파기에는 약간의 무리가 있어 나만의 공부방식을 찾던 중.. 책 한 권씩 독파해나갈 것! 그래서 오늘부터 하루 1권을 목표로 시작해본다. 


https://github.com/minimelody/java-basic-study

해당 공부를 하면서 정리한 깃허브 저장소


자바 설치하기

자바를 설치한다는 것은 자바 JDK를 설치한다는 뜻. JDK는 Java Development Kit의 줄임말로 자바 프로그램을 개발하는 데 필요한 라이브러리와 플랫폼이 포함되어 있다. 자바 프로그램을 실행하기 위해서는 자바 실행 환경인 JRE, Java Runtime Environment만 있으면 되지만, 자바 프로그램을 만들기 위해서는 반드시 JDK가 있어야 한다.


1. www.oracle.com/technetwork/java/index.html에서 다운로드. 사이트에 접속한 후 [Software Downloads → JavaSE] 메뉴를 클릭

2. Java 로고를 선택하고 'Accept License Agreement'를 클릭하고 컴퓨터 운영체제에 맞는 자바 설치 파일을 다운로드

3. 다운로드한 파일을 실행하고 Next. 자바가 기본으로 설치될 폴더는 C:\Program Files\Java\jdk-10.0.2

4. 사용자 정의 설치 창이 뜨면 [다음] 버튼을 눌러 설치를 계속 진행한다. 설치가 완료되면 Close


이클립스 설치하기

자바 프로그래밍을 하는 데 꼭 필요한 통합 개발 환경 IDE, Integrated Development Environment인 이클립스를 설치해야 한다. 이클립스를 사용하여 자바 코드를 작성하고 컴파일하고 실행할 수 있다.


1. www.eclipse.org에 접속하여 [Download]를 클릭하고 들어간 화면에서 [Download 64 bit] 버튼을 클릭

2. 설치 파일을 실행. 맨 위에 있는 Eclipse IDE for Java Developers를 선택한다. [INSTALL] 버튼을 클릭하면 이클립스가 설치된다

3. Licenses 창이 나오면 [Accept]를 누른다. 설치가 끝나면 [LAUNCH] 버튼을 눌러 이클립스를 실행

4. 이클립스를 실행하면 워크스페이스를 지정하는 창이 나타난다. 워크스페이스(workspace)는 개발할 프로그램이 저장될 디렉터리 위치이다. [Browse] 버튼을 눌러 작업할 공간인 워크스페이스를 변경할 수 있다.

* 워크스페이스를 변경하려면 [File → Switch Workspace → Other]에서 수정

5. 워크스페이스를 선택한 후 [Launch]를 누르고, [Welcome] 탭을 닫으면 작업 공간이 나타난다. 이제 자바 프로그래밍 시작!


http://itpangpang.xyz/140

본격 시작하기에 앞서 인코딩부터 맞춰줘야 겠다. 깃허브에 올리면서 한글 깨짐으로 다시 커밋했다.


'Hello, Java' 문장을 화면에 출력하는 프로그램 만들기

1. 첫 프로젝트 만들기

자바로 프로그램을 만들려면 먼저 프로젝트(project]를 생성해야 한다. [File → New] 메뉴를 누르고 [Java Project]를 선택한다. 프로젝트는 개발자가 만드는 하나의 프로그램 단위라고 생각하면 된다.

2. Project name : 항목에 first라고 입력. 이름을 적고 [Next] 버튼을 누르고, Create module-info.java file 체크 상자를 눌러 해제 후 Finish

* 프로젝트명은 낙타표기법(소문자로 시작, 구분마다 첫글자는 대문자)!

3. 첫 번째 클래스 만들기

자바 프로그램은 모두 클래스 기반으로 구성. first 프로젝트를 선택하고 오른쪽 마우스를 클릭하면 메뉴가 나온다. 먼저 패키지(package)를 만들어야 하므로 [New → Package]를 선택

4. 패키지 이름은 hello라 적고 [Finish]를 누른다. 패키지명은 항상 소문자

5. 패키지 아래에 클래스를 만든다. hello 패키지를 선택하고 오른쪽 마우스 버튼을 클릭해서 [New → Class] 메뉴를 선택

6. 클래스 이름은 HelloJava라고 정한다. public static void main(String[] args) 항목을 선택하여 main() 함수를 추가하고 [Finish] 버튼을 누른다. main() 함수란 프로그램의 첫 시작점을 의미

* 클래스명은 파스칼표기법(첫글자가 대문자, 구분마다 첫글자는 대문자)

7. main() 함수 내부에 적혀 있는 // TODO~ 문장을 지우고 소스 코드 작성

8. 컴파일하기

컴파일은 프로그래밍 언어를 기계어로 번역해 주는 과정. 이클립스는 빌드 자동화 옵션이 기본으로 설정되어 있어서 파일을 저장(Ctrl + S)하면 자동으로 컴파일된다.

* 빌드란 컴파일러가 소스 코드를 컴파일하여 실행 파일을 만드는 과정. .class 파일이 만들어진다.

* 빌드 자동화 옵션은 [Project - Build Automatically]에서 설정. 기본 값으로 선택되어 있으므로 그냥 사용

9. 프로그램 실행하기

프로그램을 실행하는 단축키는 Ctrl + F11이다. 반드시 빌드한 후 프로그램을 실행한다. 프로그램을 실행하면 Console 창에서 실행 결과를 볼 수 있다. 

* 중간에 Select resources to save 창이 나오면 [OK} 버튼을 누른다.


http://cofived.tistory.com/17

http://postitforhooney.tistory.com/entry/GitConfigEclipse-%EA%B9%83-%EC%84%A4%EC%A0%95-%EB%B3%80%EA%B2%BD%ED%95%98%EA%B8%B0

두 포스팅의 도움으로 이클립스에서 깃허브에 프로젝트를 올리는 방법을 알았다. 아무리 공부를 해도 결국 나중에 또다시 까먹는다. 그래서 어디든 기억할 수 있는 곳을 만드는 것이 좋은데, 처음 학원 다닐 때는 깃허브 사용법을 잘 몰라서 티스토리에 정리를 했었다. 그러나 지금 와서 다시 보니 무슨 소리인지 하나도 모르겠다. 그래서 선택하게 된 것이 소스코드만 정리하는 깃허브이다.


주석으로 소스 코드 정보 표시하기

주석은 프로그램에 설명을 추가하거나 특정 코드가 컴파일되지 않도록 처리할 때 사용한다. 특히 소스 코드 설명을 주석으로 잘 작성해 놓으면 나중에 본인이나 다른 개발자가 프로그램을 볼 때 이해하기 쉽다. 주석은 한 줄로 표시할 수도 있고 여러 줄로 표시할 수도 있다.

- 한 줄 주석 표시하기 : 문장 앞에 // 표시를 하면 주석으로 처리되고 컴파일되지 않는다. 

- 여러 줄 주석 표시하기 : /*, */ 기호로 주석의 시작과 끝을 나타낼 수 있다. 


변수 선언하고 값 대입하기 

= 기호는 수학에서 오른쪽과 왼쪽이 같다는 의미이지만 프로그램에서는 '오른쪽 값을 왼쪽에 대입한다'는 의미로 사용한다.


변수 초기화하기

변수를 선언할 때 변수 값을 바로 대입할 수도 있다. 변수에 처음 값을 대입하는 것을 '초기화'라고 한다. 초기화는 언제 해야 할까? 변수 선언과 동시에 초기화를 할 수도 있고, 변수를 선언한 이후 대입할 값이 정해지는 시점에 초기화를 할 수도 있다.


변수 이름 정하기

변수 이름은 영문자(대문자, 소문자)나 숫자를 사용할 수 있고, 특수 문자 중에는 $, _만 사용할 수 있다. 변수 이름은 숫자로 시작할 수 없다. 자바에서 이미 사용 중인 예약어는 사용할 수 없다. 사용 목적에 맞게 의미를 잘 부여해서 만드는 것이 좋다. 변수 길이에 제한이 없으므로 줄임말보다는 의미를 풀어서 쓰는 것이 프로그램을 작성하고 이해하는 데 편리하다. 변수 이름은 대부분 소문자로 시작하며 여러 단어로 변수 이름을 만들 경우 중간에 다른 뜻의 단어가 등장할 때 첫 글자를 대문자로 사용한다.


정수 자료형

양수, 음수, 0을 나타내는 데 사용한다. byte형(1바이트), short형(2바이트), int형(4바이트), long형(8바이트)이 있다.

각 표현할 수 있는 수의 범위는

byte형은 -128 ~ 127, short형은 -32,768 ~ 32,767, int형은 가장 많이 사용하는 자료형으로 -2,147,483,648 ~ 2,147,483,647

long형은 -2^63 ~ 2^63-1이며 "long num = 12345678900L;"처럼 식별자인 L이나 l을 사용해야한다. int형 범위를 넘지 않는다면 식별자가 필요 없다.


문자 자료형 - char형(2바이트)

문자를 컴퓨터 내부에서 표현할 때 0과 1의 조합으로 나타내야 한다. 특정 정수값으로 약속한다. 문자를 정해진 코드 값으로 변환하는 것을 '문자 인코딩'이라고 한다. 반대로 코드 값을 다시 문자로 변환하는 것을 '문자 디코딩'이라고 한다. 가장 기본이 되는 문자 인코딩은 아스키 코드.

- 문자를 int형으로 변환하여 출력하면 그 문자에 해당하는 정수 값을 알 수 있다.

- 문자형 변수에 정수 값을 대입하면 그 정수 값에 해당하는 문자가 출력된다.

- 정수형 변수를 문자형으로 변환하여 출력하면 그 정수 값에 해당하는 문자가 출력된다.


유니코드 값을 직접 사용할 수 있다. 유니코드란 전 세계의 모든 문자를 처리할 수 있도록 만든 표준 문자 전산 처리 방식이다.

http://unicode.org/charts/PDF/UAC00.pdf


char형은 음수 값을 표현할 수 없다. 

- char형으로 선언한 변수에 음수 값을 대입하면 오류가 발생한다. 

- 음수 값을 대입한 정수형을 char형으로 출력하면 물음표(?)가 출력된다.


실수 자료형

float형과 double형이 있다. float형은 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트)를 사용한다. double형은 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)를 사용한다. double형을 기본으로 사용한다. float형으로 대입되는 값은 F 또는 f를 숫자 뒤에 붙여서 식별해주어야 한다.

* 부동 소수점 방식 : 실수 값 0.1은 1.0x10^-1으로도 표현할 수 있다. 이처럼 가수 부분(1.0)과 지수 부분(-1)을 나누어서 실수를 나타내는 방식


논리 자료형 - boolean형(1바이트)

어떤 변수의 참(true), 거짓(false)의 값을 나타내는 데 사용한다. 


상수 선언하기

항상 변하지 않는 값을 '상수(constant)'라고 한다. final 예약어를 사용해 선언한다. 상수 이름은 대문자를 주로 사용하고, 여러 단어를 연결하는 경우에 _기호를 사용하면 좋다. 한 번 선언한 상수는 변하지 않기 때문에 선언과 동시에 값을 지정하는 것이 좋다. 가끔은 선언만 하고 사용하기 전에 값을 지정하기도 한다.


리터럴

프로그램에서 사용하는 모든 숫자, 문자, 논리값(true, false)를 일컫는다. 리터럴은 프로그램이 시작할 때 시스템에 같이 로딩되어 특정 메모리 공간인 상수 풀(constant pool)에 놓인다.


형 변환이란?

형 변환은 크게 묵시적 형 변환(자동 형 변환)과 명시적 형 변환(강제 형 변환) 두 가지로 구별해서 생각할 수 있다.

1. 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어진다.

2. 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 이루어진다.


정수 : byte(1바이트) → short(2바이트) / char(2바이트) → int(4바이트) → long(8바이트) → 실수 : float(4바이트) → double(8바이트)

화살표 방향과 반대로 형 변환을 하려면 강제로 변환해야 한다. long형이 8바이트이고 float형이 4바이트인데 자동 형 변환이 되는 이유는 실수가 정수보다 표현 범위가 더 넓고 정밀하기 때문이다. 화살표 방향으로 형 변환이 이루어질 때는 자료 손실이 없지만, 그 반대인 경우에는 자료 손실이 발생할 수 있다.


묵시적 형 변환 (자동 형 변환)

바이트 크기가 작은 자료형에서 큰 자료형으로 대입하는 경우

byte bNum = 10;

int iNum = bNum;  //byte형 변수 bNum 값을 int형 변수 iNum에 대입함

bNum의 크기는 1바이트이고 iNum의 크기는 4바이트이므로 자료 손실 없이 bNum에 들어 있는 값이 모두 iNum에 저장


덜 정밀한 자료형에서 더 정밀한 자료형으로 대입하는 경우

int iNum2 = 20;

float fNum = iNum2;

두 변수의 크기가 같은 4바이트라도 float형인 fNum이 더 정밀하게 데이터를 표현할 수 있으므로 실수형인 float형으로 변환


연산 중에 자동 변환되는 경우

int iNum = 20;

float fNum = iNum;

double dNum;

dNum = fNum + iNum;

fNum + iNum 연산에서 int형이 float형으로 변환되고, 두 변수를 더한 결과 값이 dNum에 대입되면서 double형으로 변환


명시적 형 변환 (강제 형 변환)

바이트 크기가 큰 자료형에서 작은 자료형으로 대입하는 경우

int iNum = 10;

byte bNum = (byte)iNum;  //강제로 형을 바꾸려면 바꿀 형을 괄호로 써서 명시해야 함

이 경우는 대입된 값 10을 1바이트 안에 표현할 수 있으므로 자료손실이 없지만,

int iNum = 1000;

byte bNum = (byte)iNum;  //-24

이 경우처럼 byte형이 표현할 수 있는 범위를 넘는 경우에는 자료 손실이 발생


더 정밀한 자료형에서 덜 정밀한 자료형으로 대입하는 경우

double dNum = 3.14;

int iNum2 = (int)dNum;  //실수 자료형 double을 정수 자료형 int로 형 변환

실수의 소수점 이하 부분이 생략되고 정수 부분만 대입



하루 한 권 끝내기는 무리 ㅠ..

그저 매일 꾸준히 하는 것을 목표로 오늘은 여기서 끝!



프론트엔드

HTML, CSS 부터 시작

자바스크립트 - 바닐라 자바스크립트 (라이브러리가 없는)

 - 투두리스트

 - 인터랙션

jQuery, 리액트

백엔드

Node js, express

이를 통해 작은 서버를 만들어서 웹사이트를 구현



HTML5 Programming, CSS, JavaScript, 자바스크립트 객체지향 프로그래밍, jQuery, ECMAScript 6, Node.js, React, Vue.js

Java의 정석(jdk 1.8버전), 자바 객체지향, 자바 웹 프로그래밍(struts) - 개정판 : 프로젝트로 배우는 자바 웹 프로그래밍, 최범균의 JSP 2.3 웹 프로그래밍, 

코드로 배우는 스프링 웹 프로젝트, 최범균의 Spring 4.0, 토비의 Spring 3.1, 오라클, MySQL


진짜.. 공부할게 너무 많다 ㅠㅠ

그래도 일하면서 일도 배우고, 공부도 꾸준히 하다보면 

언젠가는 원하는 서비스도 척척 만들고, 원하는 방식으로 살 수 있지 않을까 ㅠ?


JDK 다운로드 및 설치

http://www.oracle.com/technetwork/java/javase/downloads


현재 가장 많이 사용되는 버전은 8이다. "Java SE 8OO" 부분에 있는 "JDK Download" 버튼을 클릭한다.


JDK를 다운로드 받으려면 먼저 License 동의해야 한다. "Accept License Agreement"를 클릭한다. 사용하고 있는 운영체제에 맞는 JDK를 다운로드 해야 한다. 윈도우 64비트 운영체제의 경우 "jdk-8u181-windows-x64.exe"를 다운로드 받는다.


환경변수 설정

"환경변수" 버튼을 클릭한다.


시스템 변수 영역의 "새로 만들기" 버튼을 클릭한다.


변수이름엔 "JAVA_HOME"을 변수 값엔 JDK가 설치된 경로를 입력한다.


같은 방법으로 "CLASSPATH" 환경변수를 추가한다. 값은 ".;%JAVA_HOME%\lib\tools.jar" 로 입력한다. "%JAVA_HOME%"은 앞에서 설정한 JAVA_HOME 환경변수의 값으로 치환하라는 의미이다.


시스템 변수 영역에서 PATH를 찾아서 선택한 후 "편집" 버튼을 클릭한다.


우측의 "새로 만들기" 버튼을 클릭한 후 "%JAVA_HOME%\bin"을 입력한다.


cmd 창에 "javac -version"을 입력했을 때 다음 같은 실행 결과가 보인다면 설치가 잘 된 것이다.


이클립스 다운로드 및 설치

http://www.eclipse.org/downloads


하단에 있는 Download Packages 링크를 클릭한다.


목록을 살펴보면 다양한 이클립스 버전이 있다. 이클립스를 이용하여 자바 웹 어플리케이션을 개발하려면 "Eclipse IDE for Java EE Developers"를 다운로드 받아야 한다. 본인의 운영체제에 맞는 버전을 다운로드 받는다.


이클립스는 압축만 해제하면 된다. 삭제할 때도 압축을 해제한 폴더만 삭제하면 된다.


이클립스를 실행하면 workspace 경로를 물어보는 창이 열린다. workspace란 이클립스로 관리하는 프로젝트가 저장되는 경로를 의미한다.


이클립스 설정하기

Window -> Preferences 메뉴를 클릭한다.


Java - Installed JREs에서 Add를 클릭한다.


Directory에서 jdk 경로를 선택하고 Finish를 클릭한다.


jdk로 변경한다.


프로젝트 내에서 JAVA, HTML, xml 등의 다양한 종류의 파일이 사용되는데 파일마다 인코딩 하는 방법이 다르면 글자가 깨지는 현상이 발생한다. 이런 문제가 발생하지 않도록 인코딩을 설정해 두는 것이 좋다.


Preferences 다이얼로그가 열리면, General -> Editors -> Text Editors -> Spelling 메뉴를 활성화하고, Encoding 메뉴에서 Other 라디오 버튼을 클릭하고 UTF-8로 선택하고 Apply 버튼을 클릭한다.


General -> Workspace 메뉴를 활성화하고, Text file encoding 메뉴에서 Other 라디오 버튼을 클릭하고 UTF-8


JSON -> JSON Files 메뉴를 활성화하고, Encoding 항목에서 UTF-8


Web을 활성화해주고 CSS Files 메뉴를 클릭하고, Encoding 항목에서 UTF-8을 선택하고 Apply 버튼을 눌러준다.

같은 방법으로


HTML Files


JSP Files 의 인코딩 설정도 바꿔준다.


  1. 2018.08.22 14:10

    비밀댓글입니다

  2. 디벨로퍼수 2018.08.25 17:23 신고

    한수 배웁니다^^

String [] args

main 메소드에 있는 매개변수 중 문자열 배열을 의미
main 메소드에도 매개변수가 있다면 호출할 때 인자값을 넘겨줄 수 있다는 의미


인자값의 데이터 형태
String 배열로 넘어오기 때문에 모든 데이터는 문자열 형태로 넘어온다
문자열로 넘어온 데이터를 정수로 변경하여 사용하려면 Integer.parseInt 메소드를 사용

- 실수 변환은 Double.parsedouble

데이터는 띄어쓰기를 구분자로 확인하여 각각 args 인덱스에 들어간다


main 메소드 호출
일반 메소드는 개발자에 의해서 호출된다면, main 메소드는 프로그램을 시작하게 되면 JVM이 main 메소드를 찾게 되고 호출
프로그램 시작 전 main에 보내줄 인자 값을 작성하게 되면 main을 호출할 때 main에서 해당 인자값을 가져다 사용


public static void main(String[] args

{

String cal = args[1];

switch(cal)

{

case "+":

System.out.println(Integer.parseInt(args[0]) + Integer.parseInt(args[2]));

break;

case "-":

System.out.println(Integer.parseInt(args[0]) - Integer.parseInt(args[2]));

break;

case "x":

System.out.println(Integer.parseInt(args[0]) * Integer.parseInt(args[2]));

break;

case "/":

System.out.printf("%.2f",Double.parseDouble(args[0]) / Double.parseDouble(args[2]));

break;

}

}



이클립스 이용방법



Run - Run Configrations - Arguments - Program arguments에 인자값을 넣어주고 Apply - Run



exe 파일 만들어서 cmd 창 이용 방법



Export - Runnable JAR file을 선택하고 Next 후 해당 자바 파일을 선택하고 jar 파일명을 지정했다면 Finish



launch4j.sourceforge.net
Download를 클릭하여 해당 파일을 찾아서 설치한다



Basic 설정 : Output file은 파일명.exe 경로 지정, Jar는 아까 만든 jar 파일의 경로를 찾아서 지정한다



Classpath 설정 : Custom classpath를 체크하고, Main class는 jar 파일을 선택하여 정한다



Header 설정 : Header type은 Console을 선택한다



JRE 설정 : Min JRE version을 1.6.0으로 한다



톱니바퀴로 .xml 파일을 만든 후 cmd창에 exe 파일을 끌어다놓아서 경로를 자동 지정하고 인자값들을 넣어주면



다음과 같은 결과가 나온다


자바에서 JDK와 이클립스(Java EE 패키지)를 설치하였다면 웹서버인 아파치를 설치해야 한다.



아파치.org 사이트에 들어가서 project를 클릭한다.



리스트에서 톰캣을 찾아서 클릭한다.



버전은 8로..



자신의 컴퓨터 사양을 확인하고 해당 되는 파일을 다운로드한다. 다운로드한 파일을 압축푼다.



JDK 등록한 것처럼 '고급 시스템 설정'에서 환경변수를 설정한다.
새 시스템 변수는 다음과 같이 등록하고, Path 변수 안에 \bin만 추가하여 지정해놓는다.


cmd에서 startup.bat을 실행했을 때


Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program


이런 식으로 뜬다면 자바 환경이 구축되어 있지 않다는 것이니 먼저 자바 환경부터 구축해야 한다.



tomcat > conf > server.xml에서 port는 9090으로 변경하고, URIEncoding="utf-8"을 추가한다.



server.xml과 같은 폴더에 있는 context.xml에는 privileged="true" reloadable="true"를 추가한다.



이클립스 - Window - Preferences에서 General - Workspace와 Web - CSS Files, HTML Files, JSP Files에 인코딩은 utf-8로 변경한다. Server - Runtime Environments에는 설치한 톰캣을 선택하고 경로를 지정하여 연동한다. 


웹 구축이므로 프로젝트는 Dynamic Web Project를 선택하고 작업을 진행한다.


+ Recent posts