'개발/JAVA' 카테고리의 글 목록 :: zeroOne
728x90

스트림에서

entryset - 해당맵의 key, value 를 모두가져오는것

keySet - 해당맵의 key 만 가져오는것

728x90
728x90

접근제어자를 사용하는 이유!

- 객체가 가진 고유의 멤버 변수값들이 외부에서 잘못 변경되는 것을 막기 위해서. 즉 실수를 줄이기위한 의도.

 

public > protected > default > private

 

l  public : 접근을 제한이 없음

l  protected : 동일한 패키지 내에 존재하거나, 파생클래스에서만 접근 가능(상속)

l  default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능

l  private : 자기 자신의 클래스 내에서만 접근이 가능

 

자세한 예시는 아래링크 참조

 

https://mainia.tistory.com/5574

728x90

'개발 > JAVA' 카테고리의 다른 글

[JAVA] stream entrySet, keySet  (0) 2022.03.25
[JAVA] :: 더블콜론  (0) 2022.02.24
[JAVA] 날짜,시간 비교- Date, LocalDateTime 차이  (0) 2022.02.10
728x90

 

  • 더블콜론이란
    정식명칭은 메소드  참조 표현식(method reference expression) 으로 자바 8 이상부터 사용가능한 람다식이다.
  •  
  • 사용방법 : [인스턴스] :: [메소드] (스태틱 메소드인 경우 인스턴스 대신 클래스 이름으로 사용가능)
  •  
  •  
public class DoubleColon {
        public String addNim(String x) {
            return x + "고객님";
        }
    
        public void main(String[] args) {
            List<String> names = Arrays.asList("김공일","제로원");
            
            DoubleColon dc = new DoubleColon();
            
            names.stream().map(x -> dc.addNim(x)).forEach(System.out::println);
            names.stream().map(dc::addNim).forEach(System.out::println);
            
        }
    }

 

결과 :

김공일 

제로원

728x90
728x90

날짜 관련 데이터를 매핑하다가 이걸 String 으로 해야할지 ,Date으로해야할지 LocalDateTime 으로 해야할지 궁금해졌다.

 

우선 String이나 Long 으로 받아도 데이터 매핑은 가능하다 하지만 데이터가 

2022-02-09 14:43:45.990000

이런식으로 들어가 있으면 데이터를 다시 조작해야하는 굉장히 골치가아픈일이 발생한다.

 

그래서 Date이나 LocalDateTime을 이용해야 하는데 

두가지가 무슨차이인지 조금 의문이었다.

 

 

결론적으로

Date,Calrendar 클래스 사용시의문제점

  • 월값이 0부터 시작한다 (1월 ->0)
  • 다른 언어와 달리 기본날짜, 시간 클래스가 불변객체가 아니다
  • private final 로 지정해둔 Date을 사용하는등 방어복사기법이 필요하다.
  • 특정 시간대의 날짜를 생성하거나, 년/월/일을 통한 날짜연산을 위해서는 Date클래스와 Calenmdar클래스를 함께 사용해야한다.
  • 중간 객체를 사용하는것 자체도 불편하며 Calendar객체의 생산비용이 비싼편이다.
  • 이외에도 여러 상수 필드를 사용하여 잘못된 입력에도 오류가 발생하지 않는등의 불편함이 있다.

 

이런 많은 문제가 있다고한다 .

그렇기 때문에 자바 8부터 출시된 java.time(joda.time) 을 이용하면 된다. 

728x90

'개발 > JAVA' 카테고리의 다른 글

[JAVA] stream entrySet, keySet  (0) 2022.03.25
[JAVA] public private 접근제어자 간단한설명  (0) 2022.03.18
[JAVA] :: 더블콜론  (0) 2022.02.24

+ Recent posts