
자바의 정석을 공부하면서 공부내용을 정리했습니다. List : 순서가 있는 데이터의 집합, 중복허용한다. Set : 순서가 없는 데이터의 집합, 중복을 허용하지 않는다. Map : 키와 값으로 이루어진 데이터의 집합, 키는 중복을 허용하지 않고 값은 중복을 허용한다. 🌱 ArrayList List 인터페이스를 상속받은 여러 클래스 중 하나이다. Object 배열을 이용해 데이터를 순차적으로 저장한다. 자바에서 기본적으로 많이 사용한다. 크기가 가변적으로 변한다. ArrayList list = new ArrayList(); 🌱 LinkedList 배열의 단점(크기 변경할 수 없다, 데이터를 일어오는데 시간이 오래걸린다)을 보완하기 위해서 사용 불연속적으로 존재하는 데이터를 서로 연결한 상태로 구성되어 있다..

자바의 정석을 공부하면서 공부내용을 정리했습니다. 🌱 날짜와 시간 Calendar는 추상클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 한다. Calendar cal = new Calendar(); // 에러! 추상클래스는 인스턴스를 생성할 수 없다. // getInstance() 메서드는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환한다. Calendar cal = Calendar.getInstance(); Calendar 를 Date 로 변환 Calendar cal = Calendar.getInstatnce(); Date d = new Date(cal.getTimeInMillis()); Date를 Calendar로 변환 Date d ..

자바의 정석을 공부하면서 공부내용을 정리했습니다. 🌱 Object 클래스 Object 클래스는 모든 클래스의 최고 조상이기 때문에 Object 클래스의 멤버들은 모든 클래스에서 바로 사용 가능. equals(Object obj) 저장된 주소값이 같은지 확인해서 boolean 값으로 알려주는 역할 String 클래스는 Object 클래스의 equals 메서드를 그대로 사용하는 것이 아니라 오버라이딩을 통해서 String 인스턴스가 갖는 문자열 값을 비교하도록 되어있어서 같은 내용의 문자열을 갖는 두 String 인스턴스에 equals 메서드를 사용하면 항상 true 가 나온다. hashCode() 객체의 주소값을 이용해서 해시코드를 만들어 반환하기 때문에 서로 다른 두 객체는 같은 해시코드를 가질 수 없다..

자바의 정석을 공부하면서 공부내용을 정리했습니다. 🌱 예외처리(exception handing) 예외처리는 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이다. 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 Exception과 Error클래스는 Object 클래스의 자손들이다. 예외처리하기 : try-catch문 try { // 예외기 발생할 가능성이 있는 문장들을 넣는다 } catch (Exception e) { // Exception 이 발생했을 경우, 이를 처리하기 위한 문장을 적는다. } 하나 이상의 catch 블럭이 올 수 있다. printSta..

자바의 정석을 공부하면서 공부내용을 정리했습니다. 🌱 상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 코드를 공통적으로 관리할 수 있어서 코드의 추가 및 변경이 매우 용이 → 코드의 재사용성을 높이고 코드의 중복을 제거하여 생산성과 유지보수에 좋다 상속받고자 하는 클래스의 이름을 extends와 함께 써주면 된다. 상속해주는 클래스는 부모 클래스, 상속 받는 클래스는 자식 클래스라고 한다. 자식 클래스는 부모클래스의 모든 멤버를 상속받기 때문에 자식 클래스는 부모클래스의 멤버들을 포함한다. 자식 클래스에 새로운 코드를 추가해도 부모 클래스엔 영향을 주지 않는다. 생성자와 초기화 블럭은 상속되지 않는다. 상속 이외에도 클래스간에 포함관계를 맺어주면 클래스를 재사용할 수 있다. 클래스를 가지고 ..

자바의 정석을 공부하면서 공부내용을 정리했습니다. 변수 하나의 데이터를 저장할 수 있는 공간 배열 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 구조체 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간 클래스 데이터와 함수의 결합(구조체 + 함수) 🌱 변수 변수는 클래스변수, 인스턴스변수, 지역변수 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수의 선언되 위치'이다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수 멤버변수 중 static 이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스변수이다. class Variables { int iv; // 인스턴스 변수 static omt cv; // 클래스변수(static 변수, 공유변수) vo..

📖프로젝트를 진행하면서 값을 백엔드 쪽으로 넘길때 특수문자 & 가 & 로 변경되어서 들어가는 경우가 있었다. HTML 특수문자 코드표를 보면 & 가 & 로 encode 되서 넘어오고 있어서 해당 값을 decode 하여 DB에 &로 들어갈 수 있도록 백단에서 StringEscapeUtils 를 사용하였다. - 실습 - jsp input 값을 라고 데이터를 보냈더니 로 넘어오는 내용 확인 StringEscapeUtils.unescapeHtml(value) 를 추가해서 실행 로 decode 되어 값이 넘어가는 내용 확인
getOrDefault(key, defaulValue) : 찾는 키가 존재하면 해당 키의 값을 반환하고, 없으면 기본값(defaulValue)을 반환 import java.util.HashMap; public class hash { public static void main(String[] args) { String [] participant = { "mislav", "stanko", "mislav", "ana"}; HashMap map = new HashMap(); for (String p : participant) { map.put(p, map.getOrDefault(p, 0) + 1); System.out.println(map); // {ana=1, mislav=2, stanko=1} } } } →..