[JAVA - 자료구조] LinkedList
Language/Java2024. 6. 9. 17:30[JAVA - 자료구조] LinkedList

ArrayList의 단점배열은 필요한 배열의 크기를 미리 확보하기때문에 나머지 공간은 사용되지 않고 낭비된다데이터의 추가와 삭제가 어려우며 이로인해 성능이 좋지않다낭비되는 메모리 없이 필요한만큼의 메모리만 사용하고 데이터를 중간에 추가하거나 삭제할 때도 효율적인 자료구조가 바로 노드와 연결이다노드와 연결의 '노드'는 내부에 저장할 데이터인 item과 다음으로 '연결'할 노드의 참조인 next를 가지고 있다.Node클래스public class Node { Object item; Node next; public Node(Object item) { this.item = item; } @Override public String toStrin..

Language/Java2024. 6. 9. 17:29[JAVA] 익명 클래스

anonymous class - 지역 클래스이지만 이름이 없다는 의미를 가지고있다보통의 클래스나 지역 클래스를 사용하기 위해서는클래스를 선언클래스를 new로 생성위와 같이 두 가지의 과정을 거쳤다.===익명 클래스를 사용하면 클래스의 이름을 생략하고, 클래스의 선언과 생성을 한번에 처리할 수 있다===익명 클래스 사용 전public class AnonymousOuter { private int outInstatnceVar = 3; public void process(int paramVar) { int localVar = 1; class LocalPrinter implements Printer{ int value = 0; ..

[JAVA] 날짜와 시간 - LocalDate, LocalTime
Language/Java2024. 6. 9. 17:19[JAVA] 날짜와 시간 - LocalDate, LocalTime

날짜와 시간 개념 및 이론날짜와 시간의 계산은 단순하게 생각하면 쉽지만, 실제로는 윤년, 각 달의 일수, 썸머타임 등 여러가지 요건과 환경을 고려해야하기때문에 매우 복잡하다.고려할 요소일광 절약 시간(썸머타임)타임존 계산: 각 타임존은 UTC로부터의 시간차이로 정의GMT: 처음 세계 시간을 만들 때 영국런던에 있는 그리니치 천문대를 기준으로 태양이 그리니치 천문대를 통과할 때를 정오로 한다.UTC: 세계협정시로 GMT보다 정밀한 시간측정을 단위로하며 개념자체는 유사하다LocalDate, LocalTime, LocalDateTimeLocalDate: 날짜만 표현할 때 사용하며 년, 월, 일을 다룬다Ex) 2013-11-21LocalTime: 시간만을 표현할 때 사용하며 시, 분, 초를 다루며 초는 밀리초,..

[JAVA - 자료구조] ArrayList
Language/Java2024. 6. 7. 16:58[JAVA - 자료구조] ArrayList

배열은 다음과 같은 단점이 있다배열의 길이를 동적으로 변경할 수 없다데이터를 추가하기 불편하다배열의 이런 불편함을 해소하고 동적으로 데이터를 추가할 수 있는 자료구조를 List라고 한다List자료구조의 특징순서가 있고 중복을 허용한다배열과 다르게 크기를 동적으로 변경할 수 있다.일반 ArrayList 구현public class MyArrayListV1 { private static int DEFAULT_CAPACITY = 5; private Object[] elementData; private int size = 0; public MyArrayListV1() { elementData = new Object[DEFAULT_CAPACITY]; } ..

[JAVA] 중첩 클래스 (중첩 클래스 ,정적 중첩 클래스, 지역 클래스)
Language/Java2024. 6. 3. 22:45[JAVA] 중첩 클래스 (중첩 클래스 ,정적 중첩 클래스, 지역 클래스)

중첩 클래스는 클래스안에 다른 클래스가 중첩되어있음을 의미하는 클래스로 크게는 ===정적 중첩 클래스===, ===내부 클래스===로 나뉘며 내부 클래스에는 다시 내부 클래스, 지역 클래스, 익명 클래스 세 가지로 나뉘어진다[!중첩클래스와 내부클래스 단어 정리]중첩 클래스와 내부 클래스의 의미는 면밀히 다르며 중첩 클래스란 중첩 for문과 같이 클래스 안에 다른 클래스가 중첩되어있음 그 자체를 의미하고, 내부 클래스는 클래스안에 내부 클래스가 외부 클래스의 구성요소가 되는 것을 의미한다내부 클래스: 내부 클래스, 지역 클래스, 익명 클래스정적 중첩 클래스: static키워드가 붙은 정적 중첩 클래스중첩 클래스: 정적 중첩 클래스 + 내부 클래스중첩클래스의 사용 이유논리적 그룹화: 특정 클래스가 다른 하나..

[JAVA] 다형성
Language/Java2024. 6. 2. 15:19[JAVA] 다형성

===다형성은 객체지향의 필수적인 요소이며 객체지향의 꽃이라고 불린다.===다형성의 핵심이론다형적 참조메서드 오버라이딩다형적 참조부모타입의 변수가 부모 인스턴스 참조Parent parent = new Parent();parent.parentMethod();자식변수가 자식 인스턴스 참조Child child = new Child();child.parentMethod();child.childMethod();child변수는 Parent인스턴스와 Child인스턴스를 모두 가지고있다.자식인스턴스에서 메서드를 먼저 찾아보고 없으면 부모 메서드를 호출한다.부모변수가 자식 인스턴스 참조(다형적참조)Parent poly = new Child();poly.parentMethod();부모타입의 변수가 자식 인스턴스를 참조부모..

Spring - 메시지 기능으로 HTML하드코딩 제거하기
Framework/Spring2024. 4. 23. 20:46Spring - 메시지 기능으로 HTML하드코딩 제거하기

메시지 기능이란? 만약 아래 HTML코드에서 label태그에 명시되어있는 '상품명', '가격', '수량'등을 수정해야한다면 하나씩 일일이 파일을 찾아가며 변경하거나 IDE의 replace기능사용해서 수정해야 할 것이다. 이렇게 수정할 경우 너무 번거로울뿐만아니라 repalce방식으로 수정을 할 경우 잘 못 수정되는 경우도있을 것 이다. 상품명 가격 수량 이런 불편함을 해결해주기위해 '메시지'라는 기능이 사용된다. Spring에서는 이 메시지기능을 어떻게 제공하고 어떻게 사용하게하는지 알아보자 HTTP 메시지에 담긴 accept-language헤더의 값을 서버에서 인지하고 해당 국가에 맞는 메시지 언어를 제공한다. 국가에 맞는 언어 메시지를 제공하기위해 아래와 같이 properties파일을 생성한다. 이 ..

카테고리 없음2024. 4. 23. 10:55타임리프(ThymeLeaf ) - 2

타임리프(ThymeLeaf ) 타임리프란 타임리프는 서버 사이드 렌더링을 지원하는 뷰 템플릿의 종류 중 하나로 이외에 뷰 템플릿으로는 JSP등이 있다. 타임리프의 가장 큰 특징으로는 순수 HTML을 최대한 유지한다는 점이 lee-dev-log.tistory.com 저번 포스팅에서 다뤘던 내용들을 활용하며 상품관리 애플리케이션에 적용해보며 Spring프레임워크에서 지원하는 Thymeleaf기능을 사용해보자 Spring의 form태그 편리성 지원 Spring은 Thymeleaf를 사용할 때 HTML태그의 id, name, value속성 설정을 편리하게하도록 지원해주는 기능을 지원한다. 위와 같이 코드를 설정하면 HTML태그안에 직접 id, name, value값을 설정하지 않아도 Thymeleaf가 HTTP..

image