Hayden's Archive

[자바/Java] 자바 기본 & Eclipse 본문

Study/Java & Kotlin

[자바/Java] 자바 기본 & Eclipse

_hayden 2020. 4. 9. 01:22

 일반 

- 파일탐색기 단축키 window키 + 알파벳 E (참고로 알아두기)

- 계층 구조 관련 >> util(Utility 유틸리티) - 프로그램은 아니지만 프로그램이 돌아가는데 필요한 제반적인 것. 처음 폴더 바로 아래 있는 유틸리티는 글로벌한 유틸리티. 각 폴더마다 유틸리티가 있을 수 있음.

- 파일탐색기 창에서 보기 - 옵션 - 보기에서 알려진 파일 형식의 파일 확장명 숨기기 체크 해제
=> 프로그램 하는 사람들은 확장자를 항상 드러내야 함.

- https://www.editplus.com/ 코드를 치는 프로그램은 아님. 소스를 편하게 볼 수 있는 프로그램. ( editplus - 보기 - 화면 글꼴 - 글꼴 설정 에서 글꼴 조절 가능. )

- 서버와 클라이언트 : 클라이언트가 서버에 있는 페이지를 서버에 요청. 서버가 요청을 처리하여 서버에 있는 페이지를 클라이언트로 돌려주면서 응답함.


 자바 기본 

Compile 컴파일 : 프로그램(코드)을 기계가 이해할 수 있는 언어로 바꾸는 작업

Build 빌드 : 컴파일러가 소스 코드를 컴파일하여 실행 파일을 만드는 과정. 자바는 빌드 과정을 통해 .class 파일을 만듦.

Java 2 (J2) : 현재 Java 2 Platform을 사용하고 있음.

Java SE(Standard Edition) : 자바의 기본 개발 환경  / Java EE(Enterprise Edition) : 서버 기반 프로그램의 개발 환경. 서블릿이나 JSP 등을 개발할 때 사용 / Java ME(Micro Edition) : 모바일 및 임베디드 시스템의 개발 환경

<J2SE와 J2EE의 더 자세한 차이점 >
- J2SE : JDK만 설치한다. JAVA Application, JDBC. 웹 서버가 필요하지 않은 스펙. 굳이 클라이언트와 서버로 나누지 않아도 되고 로컬에서만 쓸 수 있음.(내 컴퓨터 안에서만 값 입력받고 처리되고..) 대신 로컬의 경우 브라우저 안 됨. 브라우저 쓰면 서버로 간다.
- J2EE : JDK 설치 + 서버. Web Program, Spring Framework. 서버 사이드가 반드시 필요한 스펙. 요청을 처리하고 응답하려면 웹 서버가 있어야 함. 따라서 J2EE는 웹 서버를 필요로 하는 스펙. 그러므로 클라이언트 사이드와 서버 사이드로 나뉘어져 있어야 함.

JDK(Java Development Kit : 자바 개발 키트) : 자바 개발을 위해 설치하는 자바 라이브러리.( http://java.sun.com/ 에서 설치할 수 있음. ) 자바 프로그램을 실행하려면 JRE만 있으면 되지만, 자바 프로그램을 만들려면 반드시 JDK가 있어야 함.

JRE(Java Runtime Environment : 자바 실행 환경) : 자바가 실행되는 자바 실행 환경. JDK를 설치하면 자동으로 함께 설치됨.

JVM(Java Virtual Machine : 자바 가상 머신) : JDK 안에 있음. 자바로 만든 프로그램을 운영체제와 상관없이 실행함. write once, run anywhere.

 

JDK를 설치하면 JRE라는 라이브러리 환경이 구축되고 라이브러리 환경과 더불어 모든 프로그램이 JVM에서 동작. JVM이 직접적인 실행 환경인 메모리 환경.

JDK를 설치하고 이렇게 C드라이브 - Program Files - Java에 가보면 JDK와 JRE가 설치되어 있는 걸 확인할 수 있다. 

 

이렇게 운영체제 위에 JDK가 설치되고 그 JDK 안에 JVM이 들어가 있다. 인간이 작성한 코드가 A.java이고 그걸 컴파일해서(=기계어로 번역해서) 실행파일로 만든 게 A.class이다. 이 클래스 파일은 JDK 안에 있는 가상메모리 JVM 안에서 실행된다.

 

가상 메모리 JVM 내부에 있는 Stack과 Heap의 차이점 참고 : https://blog.naver.com/bug_ping/221711602284

 

자바 프로젝트 폴더에서
src는 우리가 작성한 소스 코드가 있는 폴더 / bin은 컴파일된 실행 파일이 있는 폴더

bin은 전세계적으로 표준화된 폴더 이름. 실행과 관련된 파일은 bin에 넣는다.

.java // 원시코드. 소스코드. 사람이 보는 코드.
.class // 실행파일. 기계가 보는 코드. 실행파일은 저장할 때 만들어진다->그때가 언제? 컴파일할 때

자바 문법에 하자가 없으면 실행파일을 만들어냄.
실행(Interpreter) 시점은 main이 돌아갈 때! 실행되는 장소, 실행되는 메모리가 JVM!

main이 없으면 컴파일 대상밖에 안 됨.
main이 있어야 실행이 됨. 메인 메소드가 있는지 없는지. 있으면 메인 메소드 있는 데부터 실행함.
main이 하는 일. 필드에 값 넣고 콜함.

자바에서 객체를 생성할 때 new를 씀. 객체 생성 코드.

자바는 타입 먼저 지정하고 거기에 해당하는 값을 넣도록! 레벨이 올라갈수록 기본형(Primive Data Type)보다 참조형(Class Data Type) 더 많이 쓰게 됨.


 이클립스 Eclipse 

: 자바 프로그래밍을 하는 데 꼭 필요한 통합 개발 환경(IDE = Integrated Development Envirionment). 이클립스가 플로그인 기술이 좋음(하지만 refresh는 조금 떨어짐). https://www.eclipse.org/ 에서 다운로드 받음.

: 이클립스에서 * 표시 있으면 저장 안 된 거고 컴파일 안 된 것.

 

1. 유용한 단축키

참고 https://blog.naver.com/lymj1234/221796734080

(1) Ctrl + Shift + L : 이클립스 전체 단축키 확인하기

(2) Ctrl + F11 : 이클립스에서 자바 프로그램 실행
- 오류가 없으면 F11만 해도 똑같이 실행됨. 하지만 오류가 있을 경우 F11을 누르면 디버그 모드로 실행

(3) Tab : 한 탭만큼 들여쓰기

(4) Shift + Tab : 한 탭만큼 내어쓰기

(5) Ctrl + I : 들여쓰기 자동 수정

(6) Ctrl + Shift + F : 전체 코드 자동정렬

(7) Ctrl + Alt + ↑↓ 방향키 : 한줄(블럭) 복사

(8) Ctrl + D : 한줄 삭제

(9) Ctrl + Space : 자동 완성. sysout 이라고 치고 Ctrl + Space 누르면 System.out.println(); 이 자동으로 뜸.

(10) Ctrl + Shift + O : 필요한 패키지를 자동으로 import 해줌

(11) Ctrl + Shift + / (/은 Slash 슬래시) : 여러줄을 드래그하고 단축키를 누르면 주석 처리해줌

(12) Ctrl + Shift + \ (\은 Backslash 역슬래시 와 동일) : 여러줄을 드래그하고 단축키 누르면 주석 처리를 풀어줌

(13) F2 : 프로젝트, 패키지, 클래스 등 이름 수정(Rename)

(14) F3 : 메소드 클릭하고 F3 누르면 메소드가 정의된 지점으로 찾아감

(15) Ctrl + Shift + R : 파일명으로 파일 찾기

(16) Ctrl + H : Search

 

2. 유용한 팁

- 이클립스에서 뭔가 없어졌을 때 당황하지 말고 Window - Show View 에서 해결

- 이클립스에서 어두운 테마 적용하기 : Window - Preference - Appearance 에서 Theme : Dark

- 이클립스에서 폰트 수정하기 : Window - Preference - Appearance - Colors and Fonts - Basic - Text Font 클릭하고 Edit 클릭하면 폰트 수정 가능.

- 이클립스에서 refresh 자동으로 적용하기 : Window - Preferences 에서 refresh 검색, General - Workspace 에서 Refresh using native hooks or polling 해놓으면 refresh 자동으로 됨.

- 이클립스에서 단축키가 안 될 때 : Welcome에서 페이지 오른쪽 하단의 Always show Welcome at start up 선택 해제 후 재시작 https://hyomyo.tistory.com/35

- 이클립스에서 Java, JSP import 에러(can not resolved) 해결법 : https://zanywitch.tistory.com/79

- 간편하게 생성자 / Getter와 Setter / toString 만들기 : 코드창에서 오른쪽 마우스 클릭 - source 누르고 Generate Constructor using Fields... / Generate Getters and Setters... / Generate toString()... 으로 만들 수 있다.

- Javadoc 주석 : 관련 포스팅 https://hayden-archive.tistory.com/57

 

3. 플러그인

- 이클립스에서 클래스 다이어그램 만드는 플러그인 Object AidObjectAid UML Explorer : 관련 포스팅 https://hayden-archive.tistory.com/58