설치
jdk 11
Eclipse 202203 Eclipse IDE for Enterprise Java and Web Developers
다운받고 설치 없이 바로 실행하는 버전의 이클립스인데 압축해제하고 원하는 폴더로 옮겼더니 오류 뜸. 압축해제를 원하는 폴더에서 해야 오류 안 뜸 (이유 모름..)
환경변수 설정
고급 시스템 설정 보기 들어가서 환경 변수
시스템 변수(밑에 있는거) -> 새로 만들기
- 변수 이름
JAVA_HOME, 변수 값 C:\Program Files\Java\jdk-11 (JDK 설치해준 곳)
시스템 변수 에서 path 선택 ->새로 만들기
- C:\Program Files\Common Files\Oracle\Java\javapath 를
%JAVA_HOME%\bin으로 변경
- 하는 이유: C나 D나 실행위치 상관없이 어디서든 자바 실행할 수 있도록 패스 설정하는 것 (자바 실행파일
java.exe 위치 잡아주면 됨)
javac.exe : 자바 컴파일 파일, java.exe : 자바 실행파일
%JAVA_HOME%\bin 원래 bin에 실행파일들 있음
이클립스
워크스페이스(workspace)
- 프로젝트가 저장되는 디렉토리
- 이클립스 최초 실행 시 Eclipse IDE Launcher에서 설정 가능
- 이클립스 실행 이후 [file] – [Switch Workspace]에서 변경 가능
.metadata 디렉토리
- 이클립스 실행 시 자동으로 생성됨
- 이 디렉토리를 삭제하면 이클립스에 해 둔 설정이 모두 초기화 됨
- 참고) 마침표로 시작하는 파일 = 숨김파일
퍼스펙티브(Perspective)
- 개발 프로젝트 종류별로 유용한 View들을 묶어 놓은 것
- Eclipse IDE for Java EE Developers를 사용하면 기본적으로 Java EE 퍼스펙티브가 사용됨
- [Window] – [Perspective] – [Open Perspective] 메뉴 이용해 Java 퍼스펙티브로 변경
설정
Preferences
-
글꼴 : General – Appearance – Colors and Fonts – Basic – Text Font – Edit...
-
인코딩 : General – Workspace – Text file encoding
- Default (MS949)를 UTF-8로 변경
-
컬러 : Java – Editor – Syntax Coloring
- 3가지 색상 변경 : Classes(핑크), Interfaces(회색), Methods(오렌지)
- 디폴트는 위 3개가 색상 같아서 구분하기 위해
-
자동 줄맞춤 : Java > Editor > Save Actions
- Perform the selected actions on save, Format source code 체크
-
소스코드 자동 완성 : Java > Editor > Content Assist
- Auto activation triggers for java에 .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 입력하면 ctrl+space 안쳐도 됨
-
Formatter 설정 (Java – Code Style – Formatter)
- Active profile에서 new - 새로운 프로필
MyEclipse 만들기 (기존 이클립스 빌트인은 수정이 안되기 때문)
1) 들여쓰기 : indentaion
- tab policy를
space only로
- indentation size, tab size를 2로
2) 주석 자동 줄바꿈 해제 : Comments > Enable block comment formatting 체크 해제 > Apply
프로그램 작성
- 워크스페이스 : javastudy 폴더
- 워크스페이스 바꾸면 이클립스 세팅 처음부터 다시 해야 함
- 우리는 워크스페이스 통째로 깃 올리는데 실무에선 워크스페이스 밑에 프로젝트 하나만 올림
- 프로젝트 : 프로젝트 하나가 프로그램 하나
- 생성할 때 JRE 맞는 jdk 버전으로 바꾸기 (난 11)
- 모듈 체크 해제
- 패키지 : 한마디로 클래스들 담는 폴더,
src안에 만들어줌
- src : 소스코드 저장하는 곳 (확장자가 .java인 모든 파일)
- 참고) 확장자가 .class => .java의 실행파일, 프로젝트 생성할 때 아웃풋 폴더로 나오는
패키지명/bin에 저장됨
- 클래스 : 서로 관련 있는 변수나 메소드 집합
- 메소드 : 어떤 기능의 구현 단위
- main 메소드 : 필수, 자바는 프로그램 실행하면 main부터 찾음, 없으면 실행안됨, 실행하고자 하는 코드는 main 메소드에 작성해야 함
식별자
- 클래스, 변수, 메소드 등에 붙이는 이름
- 대소문자 구별
- 숫자 사용 가능하지만 첫글자로 사용될 수 없음
Naming Convension
Upper Camel Case
- 각 단어의 첫 글자는 대문자, 나머지는 소문자 처리
- 클래스 이름 규칙 (100프로 다 지킴)
- MyHome, MyProject 등
Lower Camel Case
- 각 단어의 첫 글자는 대문자, 나머지는 소문자 처리
- 가장 첫 글자는 소문자 처리
- 변수, 메소드 이름 규칙
- myHome, myProject 등
Snake Case
- 각 단어를 밑줄(_)로 연결
- 대소문자를 함께 사용할 수 없을 때 사용
- 상수 이름 규칙
- MY_HOME, MY_PROJECT 등
키워드 규칙
- 프로젝트 : 맘대로
- 패키지 : 모두 소문자로 작성(실무는 회사 도메인 거꾸로 작성: com.samsung.xxx)
- 클래스 이름이 다 비슷해서 패키지명으로 구별해줘야하는데 회사 이름쓰면 회사마다 이름 달라서 구분되니까
- 클래스 : UpperCamelCase (첫 글자 대문자 카멜 케이스)
- 메소드 : lowerCamelCase (첫 글자 소문자 카멜 케이스)
- 변수 : lowerCamelCase
- 좋은 변수 이름은 a, b 이런 것보다 의미가 전달되는 것 ex) isGood, isAlive
- 상수 : SANLE_CASE (대문자를 밑줄로 연결)
데이터 타입
기본 타입
- 데이터를 저장하는 타입
- boolean, char, byte, int, long, float, doble
- short, float은 잘 안씀 (실수는 float 안 쓰고 다 더블)
- byte는 기본 단위라서 오히려 쓴다, 파일 다룰 때
참조 타입
- 데이터의 참조값(주소)를 저장하는 타입, 직접 데이터를 저장하지 않음
- 기본 타입빼면 다 참조타입
- 배열, 클래스, 인터페이스
- string

변수
- 프로그램에서 사용하는 값을 저장하기 위한 공간
상수
- final 키워드를 추가한 변수
- 반드시 초기값을 지정해야 하고 한번 선언한 값을 변경할 수 없음
리터럴
- 코드 상에서 값을 표현하는 방식
- 10진수 25 : int n =
25;
- 8진수 25(10진수 21) : int n =
025; - 맨앞에 0
- 16진수 25(10진수 37) : int n =
0x25; - 맨앞에 0x
- 2진수 1010(10진수 10) : int n =
0b1010; -맨앞에 0b
- long 타입의 25 : long n =
25L; -맨뒤에 L(l)
- double 타입의 3.14 : double n =
3.14;
- float 타입의 3.14 : float n = 3.14F; -맨뒤에 F(f)
- 논리 리터럴 : boolean isNum =
true; -true, false
- 문자 리터럴 : char ch =
'a'; - ' '
- 문자열 리터럴 : String fruit =
"apple"; - " "
- 널(없음을 의미) : String message =
null;
이스케이프

타입변환
- 작은 크기 -> 큰 크기
- 정수 -> 실수
byte num1 = 127;
int num2 = num1;
System.out.println(num2);
double addResult = 1.5 + 5;
System.out.println(addResult);
강제 변환(casting)
- 큰 크기 -> 작은 크기
- 실수 -> 정수
int bigNum = 256;
byte smallNum = (byte) bigNum;
System.out.println(smallNum);
double pct = 0.5;
int iPct = (int) pct;
System.out.println(iPct);
구문 분석(parsing)
parseInt parseLong parseDouble
- 문자열 -> 정수(int, long)
- 문자열 -> 실수(double)
String strScore = "100";
int score = Integer.parseInt(strScore);
String strMoney = "1000000000";
long money = Long.parseLong(strMoney);
String strComm = "0.5";
double comm = Double.parseDouble(strComm);
System.out.println(score);
System.out.println(money);
System.out.println(comm);
연산자
깃헙 정리
🟢 구디아카데미후기 IT국비지원 민경태 강사님 수업 11일차! 🟢
드디어 자바가 시작됐다! 기대된다 ㅎㅎ 체계적으로 처음부터 공부하는 느낌이라 너무 좋다. 이제 가면 갈수록 어려워질 것 같아서 걱정되기도 하고!
도움이 되었습니다. 감사합니다