일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- hibernate
- k8s
- 자바
- IntelliJ
- CKA
- superBuilder
- 알고리즘
- 코딩테스트연습
- map
- dabase
- docker
- CI
- vuejs
- Vue
- Oracle
- Di
- 프로그래머스
- programmers
- Kubernetes
- SpringMVC
- ORM
- builder-pattern
- cd
- Spring
- java
- 뷰
- JPA
- CI/CD
- 해시맵
- DevOps
- Today
- Total
목록개발/Java (23)
문홍의 공부장
공통점 추상클래스와 인터페이스는 선언부만 있고 구현 내용이 없는 클래스이다. 자기 자신이 직접 객체를 생성할 수 없으며, 자식 클래스가 추상클래스를 상속(extends)받거나, 인터페이스를 구현(implements)하여 객체를 생성할 수 있다. 선언된 type과 자식의 type이 같아야만 한다. 차이점 추상클래스(Abstract Class) 추상 메소드를 하나라도 가지고 있는 클래스라고 정의하는 경우가 있는데, 명확하게 말하자면 이는 틀린 말이다. 추상클래스는 추상 메소드가 없어도 무방하다. 하지만, 추상메소드를 하나라도 가지고 있는 클래스는 무조건 추상클래스여야 한다. 추상클래스는 non-static과 non-final 필드 및 public, protected, private 메소드를 사용할 수 있다...
정규표현식은 쓸 때마다 헷갈려서.. 매번 검색하는 것도 성가시니 이번 기회에 정리를 하고 넘어가야겠다. 정규표현식 정리 표현식 설명 ^ 문자열의 시작 $ 문자열의 종료 . 임의의 한 문자 (문자의 종류 가리지 않음, 단, \ 는 넣을 수 없음) * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없거나 하나있음 [] 문자의 집합이나 범위를 나타내며 두 문자 사이는 - 기호로 범위를 나타낸다. []내에서 ^가 선행하여 존재하면 not 을 나타낸다. {} 횟수 또는 범위를 나타낸다. () 소괄호 안의 문자를 하나의 문자로 인식 | 패턴 안에서 or 연산을 수행할 때 사용 \s 공백 문자 \S 공백 문자가 아닌 나머지 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한..
java.time 패키지 이전에 공부하였다시피 Date 클래스를 보완하기 위해 Calendar 클래스가 탄생했다. 하지만 Calendar 클래스에도 여전히 복잡하거나, 직관적이지 못한 (월이 0부터 시작한다는 등) 단점은 남아있다. 이를 보완하기 위해 JDK1.8부터 java.time 패키지가 추가되었다. java.time 패키지의 클래스는, 변경 가능한 기존 Calendar 클래스와 달리 불변(immutable) 이다. 이에 멀티 쓰레드 환경에서도 안전하게 객체에 접근할 수 있다. Calendar 클래스에서는 날짜와 시간을 하나로 표현하였다면, java.time 패키지에서는 날짜와 시간을 별도의 클래스로 분리해 놓았다. (LocalDateTime 클래스 = LocalDate 클래스 + LocalTime..
SimpleDateFormat 클래스 SimpleDateFormat 클래스는 날짜와 시간을 형식화하여 나타낼 수 있도록 하는 클래스이다. Date, Calendar 클래스만으로는 데이터를 원하는 형태로 다양하게 출력하기엔 다소 복잡한 면이 있다. 하지만 SimpleDateFormat 클래스를 이용하여 간단하게 표현이 가능하다. 기호의미G연대(BC, AD)y년도M월w년의 몇 번째 주(1~53)W월의 몇 번째 주(1~5)D년의 몇 번째 일(!~366)d월의 몇 번째 일(1~31)F월의 몇 번째 요일(1~5)E요일a오전/오후H시간 (0~23)h시간 (1~12)K시간 (0~11)k시간 (1~24)m분 (0~59)s초 (0~59)S1/1000 초 (0~999)zTimeZone (General time zone) ..
형식화 클래스는 숫자, 날짜, 텍스트 데이터를 일정한 형식에 맞체 표현하는 방법을 표준화 한 클래스이다. 형식화 클래스는 형식화에 사용되는 패턴을 정의하는데, 이를 통해 데이터를 형식화 시킬 뿐 아니라, 역으로 형식화 된 데이터에서 원본 데이터를 얻어낼 수도 있다. DecimalFormat 은 자바의 대표적인 형식화 클래스이다. DecimalFormat 클래스 숫자를 형식화 하는데 사용되는 클래스이다. 화폐단위로 세 자리수마다 콤마(,) 를 찍거나, 성적처리 프로그램에서 평균, 표준편차 등을 소수점 n째 자리 수까지 표현하기 등에 사용할 수 있다. 가장 대표적인 패턴 기호로 0 와 # 이 있다. 0, # 패턴 기호는 모두 10진수를 표현한다. 가장 큰 차이점은 0은 실제 값이 존재하지 않더라도 해당 자리..
Calendar 클래스 Calendar 클래스는 Date 클래스와 마찬가지로 날짜와 시간을 다루는 클래스이다. Calendar 클래스가 새로 추가되면서 Date 대부분의 메소드는 deprecated 되어 잘 사용하지 않으나, 경우에 따라 Date 의 메소드를 그대로 사용하거나, 혹은 Calendar 클래스와 상호 변환하는 상황이 있다. 추상 클래스이기 때문에 직접 new 하여 객체 생성이 불가하고, Calendar.getInstance() 메소드를 이용하거나 Calendar 클래스를 상속받는 GregorianCalendar 클래스를 이용하여 객체를 생성할 수 있다. Calendar 클래스의 주요 상수 상수 사용방법 설명 static int YEAR Calendar.YEAR 현재 년도 static int ..
HashMap의 개념과 특징 HashMap은 Map을 구현했으므로, Map의 특징인 키와 값을 묶어 하나의 데이터(entry)로 저장한다는 특징을 갖는다. 그렇다면 해시맵은 어떻게 사용하여야 할까? HashMap을 사용하는 이유를 예를 들어 명확하게 설명해 놓은 포스팅이 있어, 예시를 빌려왔다. 원문은 https://dzone.com/articles/how-to-use-java-hashmap-effectively이다. 여러분이 편의점(원문은 식료품점)을 운영하고 있고, 여러분의 가게에서 많은 종류의 상품을 다루고 있다고 하자. 그 많은 상품들은 각자 이름과 가격이 있다. 이 모든 상품을 모두 기억하고 있는 것은 어려운 일이다. 상품들의 정보를 노트에 기록하는 중에도 상품을 팔아야되며 또 그것들의 가격을 ..