이클립스 설치 - 윈도우




- exe파일을 실행시켜 설치하면, workspace(작업할 곳)을 지정할 수 있다.
- 해당 경로엔, 자바 파일들은 다른 프로젝트에 저장되고 프로젝트들은 Workspace에 저장된다.
Workspace, project, file
Workspace
Project 1
file1
file2
Project 2
file1
file2
- 한 워크스페이스이는 여러 프로젝트들을 저장 할 수 있다. 즉, 다양한 프로젝트들을 정리하는 곳이다.
- 프로젝트는 여러 파일을 포함할 수도 있다. 각 프로젝트 안에는 해당 프로젝트와 관련된 파일이 존재한다.
- 파일들은 우리들이 쓸 코드들은 나타낸다.
새로운 프로젝트 생성



프로젝트 이름을 잘 입력해준 후, Finish를 누르고, 자바관점에서 보는 것을 누른다.
그러면 잘 생성된 것을 볼 수 있다.

새로운 클래스 생성
새 클래스를 만드는 방법은 다음과 같다.
- (source folder)에서 우클릭 한 후, (New)-(Class)를 한다.


클래스 이름: HelloWorld 로 설정했다.
패키지는 클래스를 한 곳에 묶을 수 있다. 여러개의 클래스를 묶어서 정리하는 기능이다. 간단히 말해 범주화시켜 저장할 수 있게 해준다.

이클립스에 메인 메서드를 만들어달라고 요청할 수도 있다.
Finish후 만들어진 class의 구문을 살펴보면

- 패키지를 사용하고 있어서, package를 보면 구조를 확인할 수 있다.
- class name: HelloWorld
- 중괄호{} 사이에는 메인 메서드가 존재한다.
- //는 주석이다. 지워도 상관이 없다.

println을 실행시키기 위해 위와같이 입력을 해 주고

ctrl + s 를 하여 저장한다음, 자바를 실행시켜본다.
ctrl + f11을 해도 실행이 된다.

이렇게 실행하는 과정은 JShell과 다르게 컴파일을 하지 않았는데, 그 이유는 이클립스가 컴파일을 해 주었기 때문이다. (일일히 Javac나 Java를 실행하고 java HelloWorld를 하지 않아도 된다.)
이클립스를 활용하여 자바 프로그램 구구단표 짜기
- 클래스를 생성할때, for문은 메서드 안에 있어야 하므로 void print(){}안에 넣어준다.
- 아래는 5단을 출력하는 구구단표 이다.

- 위 클래스를 실행시키기위해 MultiplicationTableRunner라는 새로운 클래스를 만들어 준다.

- Console을 보면 잘 실행된 것을 알 수 있다.
구구단표에 더 많은 메소드 적용하기.
좀 더 보편화 시키기 위하여, 5단 말고 다른 구구단도 출력해보자.

- 메서드가 print가 이미 선언되어 있어서 겹치면 안되지만, 두 번째 print는 정수를 입력받는 print이므로 잘 작동된다.
- 두 번째 print는 정수를 입력받고 해당 table의 1~10의 곱셈 테이블을 출력한다.

- print를 조금 수정하여from과 to를 정해주었다.


SaveActions
SaveActions이 하는 일 중 하나는 저장하는 순간 이클립스가 자동으로 몇 가지 작업을 수행해주는 것이다.
- 우리가 선택한 건 가져온 걸 정리해 주는 기능이다.
- 우리의 코딩 표준을 만들고, 설정해준다.
Window - Preferences


구구단 표의 문제점 - 코드의 중복 (Duplication)
모든 메서드가 굉장히 유사한 코드를 갖는 문제점이 존재한다.
- 해결 방법

이클립스 디버깅 (Debugging)
전체 프로그램을 실행하는 것이 아니라 차근차근 한 줄씩 실행한다.
- 중단점을 추가하여, 어디에서 멈출지 IDE에게 알려주어야 한다.

- 6번째 줄에 더블클릭을하여 중단점을 추가해주었다. (10숫자 왼쪽에 Dot 표시)

- 오른쪽 마우스를 클릭한 뒤, Debug As Java Application을 한다.

- 디버그 화면 구성으로 바꿀껀지 제안하는 것이다. Switch를 눌러주자.

- 디버그 화면이 나왔다. Breakpoints는 우리가 설정한 중단점을 나타낸다.

- StepInto : 함수의 내부로 들어간다.
- StepOver: 중단점의 다음 라인으로 이동한다. 이때 다음 라인이 함수라면 함수를 실행하되 내부로 들어가지는 않는다.
자바 DebuggingPerspective에서 나오는 방법
[Window]-[Perspective]-[OpenPerspective]-[Java]
이클립스 vs JShell
이클립스엔 많은 단축키 존재
- Ctrl + N = 새로운 클래스 만들기
- 'main'을 입력하고 Ctrl + Space를 누르면 메인 메서드가 생성된다.
- 'sysout' + [Ctrl] + [space] = System.out.println();
Jshell에서는 34같은 계산식을 바로 계산해주지만 이클립스에선 int i = 34; 같이 배정을 해 줘야 나온다.
Jshell에선 i를 여러번 지정하여, 매번 초기화 시킬 수 있지만 이클립스는 int i = 3*4를 한번 지정하면, 또 지정시킬 순 없다. 'i' 지역변수 중복이라 나온다.

이클립스에선 i의 타입 또한, 한번 선언되면 바꿀 수 없다(int -> long)
이클립스에선 i의 값을 지정하지 않으면 사용 불가능. (Jshell에서는 0으로 지정시켜 줬다.)