이클립스는 소스코드와 바이트코드를 나누어서 관리한다.
대입 연산자(=)는 무조건 우변의 값이 계산되어 확정 된 후 좌변의 공간에 복사하여 담는다.
우변은 값이고, 좌변은 공간이다.
프리미티브 타입과 레퍼런스 타입의 차이점
프리미티브는 값을 저장
레퍼런스는 주소정보을 저장
promotion/Casting
promotion - 자동형변환, 암묵적 형 변환
Casting - 강제 형 변환, 명시적 형 변환
정수와 실수를 구분할 때 실수가 더 크다고 판단한다
(데이터 손실이 올 수 있기 때문에)
java에서 프리미티브 타입 데이터와 non-primitive type 데이터는 근본적으로 다르게 처리된다.
Object 타입의 배열에는 ****다형성의 원리에 의해서 모든 종류의 객체를 저장할 수 있다.
하지만, int, double, char 등의 primitive type 데이터는 저장할 수 없다. 객체가 아니므로..
primitive type 데이터를 객체로 만들어야 할 경우가 있다.
변수 : 컴퓨터에서 데이터를 메모리에 기록하기 위한 공간
-데이터를 이후에 재사용하기 위해서 저장해두기 위해서
결과물을 만들어 나가는 과정에서 사용하기 위해서
변수는 공간이기 때문에 공간의 크기에 대한 개념이 발생한다
-사람의 입장에서는 문자열, 정수, 실수 등의 다양한 자료형태가 있지만,
-컴퓨터 는 모두 이진수(정수)형태로 처리하기 때문에, 구분이 필요하다
-컴퓨터는 0,1로 반응하기 때문에
-컴퓨터안에서 0과1로 결과 처리하지만 이제 출력을 해야 하기 때문에 왜? 사람이 봐야하니까
-그래서 데이터 타입으로 구분해서 출력한다
Data Type(자료형) : 변수 및 상수는 데이터의 크기 및 유형을 구분하기 위해서 자료형을 가진다. 변수는 선언시에 반드시 자료형을 명시해야 한다.
데이터 타입을 지정할 때 공간의 낭비나 사용의 용도를 정확하게 파악해야 한다.
자바의 자료형
1) primitive 타입 : 원시 자료형(객체지향 언어인데 객체가 아닌 형태라서)
boolean(1바이트, 참 거짓을 저장할 수 있는 변수, true/false)
int(4바이트, 정수, 기본자료형)
char(2바이트, 정수, 단일글자를 표현하기 위한 자료형)
double(8바이트, 실수, 기본자료형)
byte(1바이트, 정수)
short(2바이트 ,정수)
float(4바이트, 실수)
long(4바이트, 정수)
2) reference type, 참조 자료형
클래스
배열 int[]arr
* 협업에 가장 중요한 규칙
클래스의 첫글자는 대문자로 작성한다.
단어와 단어간의 합성인 경우, 각 단어의 첫글자를 대문자로 처리한다(camelCase-낙타등처럼 생겼다고)
프로젝트, 패키지, 변수이름, 함수이름 등의 첫글자는 소문자로 작성한다
단, 클래스의 static final 요소는 모두 대문자로 작성한다.(단어간 구분은 언더바_로 한다)
wrapper class 사용이유
다형성의 원리에 의해서 primitive type의 자료형을 reference type으로 변환해야 할 때가 있다.
그럴 경우 wrapper class를 활용해서 primitive type을 reference type으로 변환이 가능하다.
primitive type과 reference type의 차이점
프로젝트 import하기 (가져오기)
1) package explore (project explore) 에서 빈 곳에 우 클릭 - import
2) General - Existing Projects into Workspace
3) 폴더 형태라면 select root directory
압축 파일이라면 select archive file
4) browse 클릭해서 원하는 폴더/압축파일을 선택
5) 하단의 빈 칸에 프로젝트가 인식되는지 확인하고 finish
만약, 프로젝트가 폴더 형태이고, 워크스페이스에 이미 있어서 가져올 수 없으면
Search for nested projects 를 체크 해제 후 finish
주의 ) 이미 워크스페이스에 동일한 이름의 프로젝트가 있는 경우는 불가능하니까 변경을 해야한다.
1) 서식 제어 문자
빈 공간을 만들어두고 자료형에 맞게끔 값을 불러와서 출력하는 형식
%s : String, 문자열을 표현할 때 사용(자바에서는 다른 자료형의 값도 대부분 처리 가능)
%d : decimal, 10진수형식의 정수
%f : floating number, 실수 (double이던, float이던 사용가능)
%c : character, 단일 문자
2) 이스케이프 시퀀스
일반적으로 글자로 표현되는 문자는 아니지만, 어떤 특수한 기능을 가지는 문자
\n : 줄바꿈 문자(개행 문자) ASCII Code 10
\r : 커서를 줄 가장 왼쪽으로, carriage return, ASCII Code 13
\t : 탭 크기만큼 커서를 오른쪽으로 이동
프로그램, 혹은 운영체제에 따라서 지정하는 탭의 크기가 다를 수 있으나, 일반적으로 4칸 혹은 8칸을 차지한다.
탭은 현재 위치에서 크기를 계산하지 않고, 첫 칸부터 크기를 계산한다.
\ : 백슬래시를 글자로 출력하기 위해서 사용한다.
%% : %글자 하나를 출력하기 위해서 사용한다.