본문 바로가기

Dev/[Java]

[JAVA] 2. 데이터타입, 접근제한자, 제어문, 롬복

반응형

 

 

 

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;
}

 

 

 

반응형