- 자바는 3가지의 주석(comment)을 가진다.
1. // : 한줄주석(single line comment)
2. /* */ : 여러줄에 걸쳐서 주석을 줄때 유용(block comment)
3. /** */ : 자바에서만 지원하는 주석. JDK안의 javadoc이라는 유틸리티와 함께 사용되는데, 이 유틸리티는 우리가 만든 package, class등의 설명서(specification)를 만들때 사용한다.

- 자바에서 한 statement가 끝나면 반드시 끝에 세미콜론(;)을 붙여야 한다. block이라고 하는 것은 중괄호({ })로 묶여진 부분을 말하고, 공백(whitespace)이라고 하는 것은 space, tab, new line character를 총칭하는 말로 이 3개의 문자는 소스코드안에 얼마든지 포함되어도 문제없다.

- Identifiers : 이름을 의미한다고 생각해도 무방. class명, method명, 변수명등 이름을 필요로 하는 것들이 가지고 있는 이름을 통틀어서 지칭한다. 대소문자를 구분하고 길이의 제한은 없다(?). 문자나 underscore(_), dollar sign($)으로 시작할 수 있다.
3test, @hitest, this –> (X)
_system, test2test, This –>(O)

- Data Type
자바에서 제공하는 data type은 크게보면 2가지(Primitive type, Non-primitive type)이다.
1. Primitive Type
a. Logical : 참(true)과 거짓(false)값만을 가질수 있으면 C언어에는 없는 type이다.
ㄱ. boolean (예. boolean b=false) –> boolean변수에는 오로지 true, false중 하나만 대입할 수있다. java는 0은 false이고 0이 아니면 모드 true라는 semi-boolean안 개념을 지원하지 않는다.
b. Textual : 2바이트 크기. 한글처리가 가능하며 일반적인 문자를 담을 수 있다.
ㄱ. char –> primitive type으로는 문자열(string)을 표현할 수 없다. chat는 단지 한 문자를 표현하는데 사용할뿐이고 char array를 이용해서 문자열을 표현할 것이라고 생각해서도 안된다. 자바에서 문자열은 String이라는 class를 이용하여 표현한다.
String str = ” Hello World!!”
c. Integral : 정수를 표현하는데 사용
ㄱ. byte : 1byte(-2^7 ~ 2^7-1)
ㄴ. short : 2byte(-2^15 ~ 2^15-1)
ㄷ. int : 4byte(-2^31 ~ 2^31-1)
ㄹ. long : 8byte(-2^63 ~ 2^63-1)
d. Floating : 실수를 표현하는데 사용
ㄱ. float : 4byte
ㄴ. double : 8byte

- 자바 코딩시에 identifier에 대한 convention
1. class : 반드시 대문자로 시작.나머진 소문자. 다음단어는 첫자만 대문자.
class HanClass
2. Interface : Interface도 class의 일종이므로 동일.
interface TestUser
3. Method : 시작은 소문자. 다음단어는 첫자만 대문자.
printUser()
4. Variable : Method와 동일
myName
5. Constants(상수): 모두 대문자. 다음단어 사이에 underscore(_)
HEAD_COUNT

- 자바는 OOP(Object Oriented Programming)이다. object는 물건 혹은 물체이다. OOP는 바로 이와같은 object개념을 프로그램에 반영한 것으로 object는 눈에 보이는 것일 수도있고, 계좌(account), 회계(finance)와 같이 눈에 보이지 않는 것일 수 도 있다. 실제 object를 프로그램에 적용할 수 있는 형태로 변경하는 작업을 추상화(abstract)라고 한다.

‘계좌(account)’란 object를 추상화해보면…
object명 : 계좌(account)
명사 : 계좌번호, 비밀번호, 잔고, 이율, 이체한도 등등
동사 : 입금하다, 출금하다, (잔고를)조회하다 등등

public class Account {
private String accountNum = “422-01-09038″;
private String password = “123123″;
private long restMoney = 400000;
private float interest = 3.34F;
}

- Object만들기
위에서 만든 class를 이용하여 object를 만들려면 아래와 같다.
Account x;
x = new Account();

or.

Account x = new Account();

[primitive data type]
int a; —> 4byte의 메모리가 할당
a = 7; —> 7이 할당된 메모리에 저장됨.

[non-primitive data type]
Account x; —> Account object를 point할 수 있는 reference변수를 만듬.
x = new Account(); —> 실제로 account object를 만듬. 그 object의 주소값을 x에 할당.
primitive type의 변수인 경우, 변수를 선언하면 data영역이 자동으로 생성되지만 non-primitive type변수(즉, reference 변수)의 경우는 object를 저장하는 data영역이 자동으로 만들어 지지 않는다. 따라서 직접만들어 주어야 하는데 그때 사용되는 키워드가 new이다.

- dot notation: dot(.)를 이용하여 object의 member variable를 접근하는 표현방식.
class MyDate {
int year;
int month;
int day;
}

MyDate md = new MyDate();
md.year = 2000;
md.month = 3;
md.day = 2;

Posted by salgunamu
: