java.util 패키지 다수의 데이터를 쉽게 처리하는 방법 제공 → DB처럼 CRUD 중요 List 특징 순서가 있는 데이터의 집합 순서가 있으므로 데이터의 중복을 허락 주요 메서드 List friends = new ArrayList(); public void createTest(){ friends.add("홍길동"); friends.add("홍길동"); friends.add("장길산"); friends.add("임꺽정"); friends.add(0,"이몽룡"); //끼워넣기 } 배열과 ArrayList 배열의 장점 가장 기본적인 형태의 자료 구조로 간단하며 사용이 쉬움 접근 속도가 빠름 배열의 단점 크기를 변경할 수 없어 추가 데이터를 위해 배열을 만들고 복사해야 함 비 순차적 데이터의 추가, 삭제에..
추상클래스(Abstract class) 미완성 클래스 다른 클래스에서 사용하기 위한 보조 클래스 //추상 메서드는 아래와 같이 선언만 되어있고 구현부가 없는 메서드, //반드시 구현이 이루어져야 하기 때문에 private은 불가 public abstract class 클래스명() // 추상 클래스는 아래와 같이 클래스 앞에 abstract가 붙음 abstract class 클래스이름 { ... ... } 추상클래스의 특징 기본 클래스의 특징을 모두 가지고 있음 상태를 가질 수 있다. 직접 객체 생성 불가 간접적으로만 가능 → 자식 클래스에 의해서 추상메서드를 포함할 수 있다. 추상 클래스는 항상 추상 메서드를 포함할 필요는 없음 하지만 추상 메소드를 하나라도 가지는 클래스는 반드시 추상 클래스가 되어야 ..
String의 메서드 10가지 리턴 타입 메소드 이름(매개 변수) 설명 char charAt(int index) 특정 위치의 문자를 리턴합니다. boolean equals(Object anObject) 두 문자열을 비교합니다. byte[] getBytes() byte[]로 리턴합니다. byte[] getBytes(Charset charset) 주어진 문자셋으로 인코딩한 byte[]로 리턴합니다. int indexOf(String str) 문자열 내에서 주어진 문자열의 위치를 리턴합니다. int length() 총 문자의 수를 리턴합니다. String replace(CharSequence target, CharSequence replacement) target 부분을 replacement로 대치한 새로운 ..
String str ="i"와 String str = new String("i")가 동일할까? 결론부터 말하자면, 다르다. 첫 번째로 표기한 str과 두 번째로 표기한 str 변수는 동일한 문자열 값을 갖게 되지만 완전히 동일하지는 않음 첫 번째 방식은 리터럴 표기 객체 생성 없이 고정된 값을 그대로 대입 “i” 라는 문자열을 JVM의 String pool이라는 메모리 공간에 저장 다시 동일한 문자열이 선언 될 경우, 미리 캐시된 문자열을 리턴 두 번째 방식은 객체 생성 방식 new 키워드를 활용한 객체를 생성하는 방식 매번 새로운 객체가 Heap 메모리 영역에 생성 💡 String Pool은 문자열 리터럴을 저장하고 재사용하기 위한 메모리 영역으로서, JVM의 일부인 메모리 내부에 위치하며, 동일한 문..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 문제 N×M의 모눈종이 위에 아주 얇은 치즈가 과 같이 표시되어 있다. 단, N 은 세로 격자의 수이고, M 은 가로 격자의 수이다. 이 치즈는 냉동 보관을 해야만 하는데 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹는다. 그런데 이러한 모눈종이 모양의 치즈에서 각 치즈 격자(작 은 정사각형 모양)의 4변 중에서 적어도 2변 이상이 실내온도의 공기와 접촉한 것은 정확히 한시간만에 녹..
Java에서 데이터 타입은 크게 2가지(기본 타입, 참조 타입)로 분류 출처 : http://wiki.hash.kr/index.php/자료형 기본 타입(Primitive Type) 정수, 실수, 문자, 논리 리터럴을 직접 저장하는 타입 정수 타입(byte, short, int, long) 실수 타입(float, double) 논리 타입(boolean) 문자타입(char) 출처 : https://dudri63.github.io/2019/02/13/java3/ 기본 자료형은 반드시 사용하기 전에 선언 해야 함 OS에 따라 자료형의 길이가 변하지 않음 객체가 아니기 때문에 null을 가질 수 없음 참조 타입(Reference Type) 객체의 주소를 저장하는 변수. 즉 값이 아닌 인스턴스에 대한 주소값을 저장..
쿠키와 세션의 특징과 동작 방식 HTTP 프로토콜의 stateless와 connectionless한 특징 때문에 그것을 보완하기 위해 나옴 서버는 클라이언트가 누구인지 매번 확인해야 하는 단점 connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징 HTTP는 먼저 클라이언트가 request를 서버에 보내면, 서버는 클라이언트에게 요청에 맞는 response를 보내고 접속을 끊는 특성이 있다. 헤더에 keep-alive라는 값을 줘서 커넥션을 재활용하는데 HTTP1.1에서는 이것이 디폴트다. HTTP가 tcp위에서 구현되었기 때문에 (tcp는 연결지향,udp는 비연결지향) 네트워크 관점에서 keep-alive는 옵션으로 connectionless의 연결비용을 줄이는..