본문 바로가기
반응형

Java8

[Java] 특정 달의 특정 날 요일 구하기 (ex 첫째날 요일 구하기) 2019년 1월 1일의 요일은? 2020년 3월 1일의 요일은? 매달 첫째날 요일을 구하고 싶다면?? Calendar (java.util) 클래스를 사용하자 Calendar cal = Calendar.getInstance(); //calendar 인스턴스 생성 cal.set(Calendar.YEAR, year); //2번째 인자는 찾고자하는 연도 입력 cal.set(Calendar.MONTH, month - 1); //2번째 인자는 찾고자 하는 달 입력 (1월은 0부터 시작하므로 -1을 해줌) cal.set(Calendar.DAY_OF_MONTH, 1); //2번째 인자는 위에서 설정한 해당 년월 중 1일의 요일을 구함 (특정 날을 구하고싶으면 해당 날짜를 두번 째 인자에 숫자로 기입해주면 됨) cal... 2022. 8. 15.
[디자인 패턴] 싱글톤 패턴 개념 인스턴스를 오직 하나만 생성하여 사용하는 패턴 장점 오직 한개의 인스턴스만 메모리에 저장되므로 메모리 효율적임 멀티 스레드 환경에서 여러 요청에 대한 처리가 필요할때 효율적임 스프링 컨테이너에서 빈(객체)들을 싱글톤으로 관리함 단점 코드 자체가 늘어난다. 잘못된 방식의 구현은 멀티 스레드 환경에서 '동시성' 문제 즉 스레드 언세이프 이슈가 발생할 수 있다. private 생성자로 인한 상속 불가 테스트 어려움 (mock 객체 생성 불가 -> static 메서드나 생성자는 mockito로는 mocking이 불가능) 주의사항 딱 1개의 인스턴스만 존재해야하므로, 생성자를 private으로 하여 외부에서 new 키워드로 인스턴스 생성을 방지하도록 한다. 싱글톤 객체는 상태를 무상태(stateless)로 .. 2021. 9. 19.
[Java] String = "" / String = new String("") 비교 차이점 같은 문자열에 대해 객체를 새로 생성하는지 유무 String a = "taesu" String b = "taesu" a==b //true --> 위의 경우 a,b는 같은 참조값을 가짐 (힙영역에 저장된 "taesu" 객체의 참조값을 가지고 있음) String a = new String("taesu"); String b= new String("taesu"); a==b //false --> 위의 경우 a,b는 다른 참조값을 가짐 (즉 같은 문자열값이라도 말그대로 new 해서 새로운 객체를 만드는 것) 2020. 2. 15.
[Java] 상속 1. 상속 (extends) 분류(클래스)에 대한 확장, 재사용 재사용이라 함은 코드의 중복을 제거하기 위함 상위 클래스는 더 추상화 된 클래스 하위 클래스는 더 구체화 된 클래스 분류구조를 가짐 하위클래스는 상위클래스이다. (하위클래스 is a kind of 상위클래스 -> LSP 원칙) 모든 클래스는 'Object' 클래스를 상속 받는다. 2. 분류도 예시 음식이라는 분류를 한식, 양식으로 구체화 했다. (= 한식, 양식이라는 분류는 음식으로 추상화 된다.) 한식이라는 분류를 비빔밥, 찌개로 구체화 했다. (= 비빔밥, 찌개라는 분류는 한식으로 추상화 된다.) 양식이라는 분류를 피자, 파스타로 구체화 했다. (= 피자, 파스타라는 분류는 양식으로 추상화 된다.) 3. 음식을 통해 상속을 사용해 보자 .. 2019. 5. 5.
반응형