• Home
  • About
    • Young's Github Pages photo

      一日不作一日不食

    • About
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

Java 정리 04

16 Nov 2018

Reading time ~5 minutes

Java 정리 04 - 이클립스


이클립스 설치

  • 이클립스는 IDE (Integrated Development Environment, 통합 개발 환경)
    • 코딩, 디버그, 컴파일, 배포 등을 한번에 할 수 있는 툴
  • EPL (Eclipse Public License) - 무료
    • Eclipse Foundation에서 관리
  • Java로 만들어진 툴(Java SE가 설치되어 있어야 동작)
  • 웹개발을 위해선 Java EE 버전 선택
    • 자바, 오라클, 이클립스 모두 설치 버전을 맞춰야 함(32/64bit)
  • Package 단위로 Source Code 관리

01

02


Package

  • 비슷한 일을 하는 class들을 관리하기 위한 폴더
    • 패키지가 다르면 같은 이름의 클래스를 만들 수 있다.
  • 클래스명 위에 package 선언하여 사용
  • package의 이름은 유일해야 함
    • 역방향 도메인 사용
      • 원래 역방향 도메인의 의미는 IP
      • 여기서 의미하는 역방향은 거꾸로 읽는 도메인
      • 예) sist.co.kr
      • 패키지명 : kr.co.sist.하는일
// 1. 선언 : 클래스의 가장 처음 생성

package 패키지명;

class 클래스명 {
    ...
}

// 2. 저장
// 3. 컴파일 : 패키지 컴파일 
//            javac -d . 소스파일명.java
//              -d : 선언된 이름으로 폴더 생성
//               . : 그 안에
// 4. 실행 : 가장 외부 패키지가 보여지는 위치에서 실행
//           java 패키지명.bytecode명 
// java 파일이 해당 경로에 있다면 C:\dev\Test.java 

package kr.co.sist;
class Test {
    ...
}

// 패키지 컴파일
C:\dev> javac -d . Test.java

// C:\dev\kr\co\sist\Test.class 생성

// 실행
C:\dev> java kr.co.sist.Test

// 자바는 실행할 때 확장자를 주지 않음
// '.' 입력 시 패키지로 인식

03

04


배치파일을 이용한 이클립스 실행

  • 이동했을 때 간편한 개발환경 설정을 위해 배치파일 사용
    • 자바 설치 시 만들었던 env.bat 파일 수정
    • 우선 설치된 eclipse를 dev폴더에 복사
    • eclipse path 추가
// env.bat 파일
rem path - 특정프로그램(javac.exe, java.exe)를 설치된 경로에 상관없이 사용하기위한 path
rem xxx_home - 프로그램끼리 경로를 참조하기 위해 설정하는 path

set dev_home=C:\Users\owner\youngRepositories\SSangYoung\dev
set java_home=%dev_home%\Java\jdk1.8.0_191
set eclipse_home=%dev_home%\eclipse

set path=%java_home%\bin;%eclipse_home%
// eclipse.bat
rem path를 사용하기위해 path가 설정된 파일을 호출
call env.bat

rem 설정된 경로에서 필요한 실행파일을 실행
eclipse.exe

05

  • cmd에서 eclipse.bat 실행 시 path 설정 후 이클립스가 실행됨

Perspective 변경

  • Java EE 설치 시 Java EE용 Perspective 적용상태
  • Open Perspective에서 Java SE로 변경이 가능하다
  • 각 탭은 드래그앤드롭으로 위치변경이 자유로움
    • Reset을 사용하면 default perspective로 돌아갈 수 있음

06

07


폰트변경

  • Window - Preferences - General - Appearance - Colors And Fonts에서 변경가능
    • Basic 안에 Text Font를 바꿔야 다 바뀜

17


이클립스 자주쓰는 단축키

  • Ctrl + M - 전체화면
  • Ctrl + D - 한줄 지우기
  • Ctrl + Space - 탬플릿 제안(자동완성)
  • Ctrl + S - 해당 파일저장
  • 실행
    • Run Configurations에서 해당 class 파일 선택하고 Run
    • Alt + Shift + X, J (Java Application 실행)
    • Ctrl + F11
      • F11은 컴파일 안하고 기존 class파일을 가지고 실행
      • 자바는 저장하면 자동으로 컴파일
  • Alt + 위/아래 화살표 - 커서 선택된 줄 이동
  • Ctrl + Alt + 위/아래 화살표 - 커서 선택된 줄 위/아래 복사
  • Ctrl + / - 한줄 주석
  • Ctrl + Shift + / - 여러줄 주석
  • Alt + Shift + J - JavaDoc 주석
  • Ctrl + Shift + F - 코드정렬
  • Ctrl + W - 탭 닫기
  • Ctrl + Shift + W - 모든 탭 닫기
  • 링크타기
    • Ctrl을 누르고 다른 소스에서 생성된 변수 등을 클릭 시 해당 페이지로 이동
    • Alt + 좌/우 화살표로 링크 이동했던 걸 이동가능
  • F5 - 패키지 익스플로어 패키지 재로딩
  • F2 - 파일명 변경
    • 파일명만 바꾸면 코드내용도 자동으로 변경된
  • Ctrl + Z - Undo
  • Ctrl + Y - Redo
  • Ctrl + Shift + L - 단축키 전체보기
  • Ctrl + Shift + O - 자동 import
  • Ctrl + O - Outline 보기

외부에서 소스 가져오기

  • 외부 소스 파일들을 복사, 이클립스 패키지 익스플로어 src에 붙여넣기로 간단히 가져올 수 있다.
    • 붙여넣으면 패키지가 달라 에러 발생

08

09

  • 패키지명 바꾸기
    • 소스코드가 적다면 일일히 패키지 선언을 추가
    • 양이 많다면 패키지 내 코드를 상위 src로 드래그앤드랍
      • 소스파일들이 default 패키지에 속하게 됨
      • 다시 원래 패키지로 이동시키면 해당 패키지 선언이 추가됨

10

  • 외부 소스 파일들을 workspace 디렉토리로 옮기면 패키지 익스플로어엔 결과가 바로 반영안됨
    • 이클립스는 실행 시 한번 패키지들을 로딩하고 추가 로딩을 안함
      • F5로 리프레쉬하면 추가된 패키지 확인 가능

스플래시 이미지 변경

  • 원하는 이미지 받기
  • 그림판으로 변경하고픈 이미지를 ‘다른 이름으로 저장’으로 24비트 비트맵파일로 변경
    • splash로 파일명 변경
  • 이클립스 폴더에서 splash 검색
    • splash 파일 선택 후 파일 위치 열기로 해당 경로에 들어가서 이미지 덮어씌움

11

12

13


삭제한 패키지, 클래스파일 살리기

  • 보통 Undo로 가능
    • 삭제 후 이클립스를 종료하면 Undo가 안됨
  • 이클립스에선 패키지, 클래스파일은 지워도 다시 살릴 수 있음
    • 다만 프로젝트는 지우면 못 살린다
    • 패키지 익스플로어 프로젝트 선택, 우클릭
      • Restore from Local History 선택, 복원하고자 하는 파일 선택 후 복원

14


가비지컬렉터 실행

  • Window - Preferences - General에서 ‘Show heap status’ 클릭
    • 이클립스 하단바에 heap 영역이 바로 표시됨
  • 쓰레기통 모양 클릭하면 가비지컬렉터 실행
    • 이클립스가 느리고 불안정해지면 실행

15

16


Indent Guide 플러그인 설치

  • 기존 깃 유저의 플러그인 자료는 사라진 상태(404..)
    • 다른 유저의 깃 포크자료로 설치
    • Help - Install New Software
    • http://kiritsuku.github.io/IndentGuide/update/ 를 Location으로 설정 후 설치
    • 설치 후 Prefrences에서 Indent Guide 적용
  • 적용 후에도 선이 안나타날 경우
    • prefs 파일을 \workspace.metadata.plugins\org.eclipse.core.runtime.settings 경로에 덮어씌움.

18


이클립스에서 arguments 받기

  • 단축키(Ctrl + F11)로 받으면 안됨
  • Run Configurations - Program Arguments에 값을 넣어주고 실행하면 된다
    • 실행을 위해 JVM는 최소메모리 32MB의 메모리 필요
      • VM arguments는 실행되는 자바의 메모리를 바꿔줄 수 있음
    • arguments를 넣은 후에는 Ctrl + F11로 실행이 가능해짐

19


System.out.println() method

  • 디버깅 목적으로 로그를 찍는데 사용되는 메소드
i >>= 1; // 0001 0000 -> 0000 1000 = 8
i >>>= 2; // 0000 0100 -> 0000 0010 = 1
System.out.println(i); // 디버그 목적

// System.out.println()은 디버그 목적으로 개발 시 값 확인용으로 사용
// 실행중인 코드에 출력 코드가 존재하면 속도가 느려진다.
// 확인 후엔 꼭 지울 것 (남기면 취약점, Leftover Debug Code) -> 시큐어 코딩

디버그

  • Debug Perspective에서 진행
  • breakpoint - 멈추는 점
    • 토글방식으로 라인 수 앞에 더블클릭해서 생성
    • 해당 라인을 시작하기 전에 멈춤
    • 이클립스 종료 시 사라짐, 기존 포인트 더블클릭하면 삭제
  • 디버그 브레이크 포인트는 배포시 아무 문제를 발생시키지 않음
  • Debug 벌레버튼 누르면 디버그 시작
  • 기본 조작
    • 다음 브레이크 포인트로 이동 Resume(F8)
    • 중지(Terminate) Ctrl+F2
    • Step Into - 메서드 존재할 경우 그 안에 들어가 진행 상황을 봄
    • Step Over : 다음 라인으로 이동

20

21



Java