1. Data type
: boolean byte, short, int, float, double, char
2. access modifier
: private, default, protected, public
3. control statement
: if, else, while, for, swirch, break. continue, goto
4. 예외처리
: try, catch, finally, throws, throw
5. class관련
: class, new, super, this, extends
abstract, interface, implement, static, final
:void, return
6. etc
: package, import, module
:native, synchronized, transient, assert
Primitive Data Type
-기본 데이터 타입으로 단일 값을 갖는다.
-정수형/실수형/문자형/논리형 이 있다.
Reference Data Type
-객체에 대한 주소 값(reference)을 의미한다.
-Primitive Data Type을 제외한 모든 것이 Reference Date Type이다.
boolean : 초기값 false
char:16bit 유니코드
초기값 \u0000 (''로 묶음)
정수형
byte, short, int, long 각 1 2 4 8 바이트
long은 0L과 같이 L을 붙여준다. 소문자도 되지만 Il헷갈리므로,, 대문자로쓴다
정수형 literal의 값은 int형임.
실수형 : float / double
float double
값 범위 : 4 8 bytes 내의 실수 값
default value : 0.0F 0.0D
실수형 literal의 data type은 double 형이다.
Wrapper Object
: boolean -> Boolean
byte -> Byte
short -> Short
int -> Integer
long -> Long
float -> Float
double -> Double,
char -> Character
java5이후에 AutoBoxing, UnBoxing 이라느게 생김
int -> Integer로 바꾸고 싶을때..?
AutoBoxing
int -> Integer
java5이전에는..??
int num = 10;
Integer num2 = new Integer(num);
java5이후에는?
// 자동으로 형변환 된다.
Integer num2 = num;
UnBoxing 이건 반대다. 이젠 사실 구분이 없다...
Integer -> int
java5이전에는..??
int result = num.intValue();
java5이후에는?
int result2 = num2;
최초에 Movie m1 = new Movie(); 와 같이 객체 생성하면,
최초에 Stack메모리에 할당된다. 하지만 NULL로 비어있다.
여기서 값을 넣어주면 Heap메모리에 할당된다.
Defualt contructor
생성자 이름이 클래스 이름과 반드시 같아야한다.
리턴타입은 없다.(void)도 아님
객체생성되는 시점에 호출되어진다.
역할 : 인스턴스 초기화
getter, setter처럼 반복적인걸
boiler plate code 라고함
이런걸 자동으로 만들어주는게 롬복(Lombok)
롬복은 공식 홈페이지 : https://projectlombok.org 에서 라이브러리를 받아 이클립스에 임포트 해줘도 되고,
메이븐이면 디펜던시 추가하면된다.
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
롬복 사용 방법은 아래와 같이 @Data 어노테이션을 써주면.. 알아서 Getter SEtter 와 같은 메서드가 만들어지는 구조이다.
이외에도
- @Getter and @Setter
- @NonNull
- @ToString
- @EqualsAndHashCode
- @Data
- @Cleanup
- @Synchronized
- @SneakyThrows
등이 있으니 참고..
import lombok.Data;
@Data
public class person {
private int index;
private String name;
private int age;
private String gender;
}
'Dev > [Java]' 카테고리의 다른 글
[JAVA] 5. 인터페이스, static, final, abstract (0) | 2021.01.20 |
---|---|
[JAVA] 4. Polymorphism 다형성 (0) | 2021.01.19 |
[JAVA] 3. ObjectOrientedProgramming(OOP), 예외처리 (0) | 2021.01.19 |
[JAVA] 1. 자바 기초(JDK, JRE 차이) (0) | 2021.01.18 |
[Spring Framwork] Spring 이란? (0) | 2020.11.11 |