필자는 Map 인터페이스를 구현하고자 할 때 보통 HashMap을 사용한다. 근데 그 이유를 모르고 써서 이번에 알아보려고 한다. 1. 부모 클래스 - AbstractMap.java AbstractMap은 디자인 패턴 중에 템플릿 패턴을 사용하였으며, 자바 이팩티브 저자가 말하길 SkeletonMap과 같이 Skeletonxxx 와 같은 네이밍이 더 적절하다고 생각했지만 이미 다른 곳에서 Abstract으로 썼기에 그렇게 사용했다고 한다. 2. 인터페이스 - Map, Clonable, Serializable 1. Map 컬렉션 인터페이스 중 하나로서 해쉬 형태의 추상클래스로서 역할을 한다. 다른 컬렉션 인터페이스와 차이점이 있다면 inner interface인 Entry가 있다는 것이다. Entry인터페..
1. notify @IntrinsicCandidate public final native void notify(); Wakes up a single thread that is waiting on this object's monitor. If any threads are waiting on this object, one of them is chosen to be awakened. The choice is arbitrary and occurs at the discretion of the implementation. A thread waits on an object's monitor by calling one of the wait methods. The awakened thread will not be abl..
1. Object 생성자 @IntrinsicCandidate public Object() {} /** Returns the runtime class of this Object. The returned Class object is the object that is locked by static synchronized methods of the represented class. The actual result type is Class getClass(); Returns the runtime class of this Object. The returned Class object is the object that is locked by static synchronized methods of the represen..
Exception 1. 컴파일 에러 컴파일 시에 발생하는 에러 2. 런타임 에러 프로그램의 실행도중에 발생하는 에러 3. 논리적 에러 실행은 되지만, 의도와 다르게 동작하는 것 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 RuntimeException클래스들은 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들로 자바의 프로그래밍 요소들과 관계가 깊다. Exception클래스들: 사용자의 실수와 같은 외적인 요인에 의해 발생되는 예외 RuntimeException클래스들: 프로그래머의 실수로 발생되는 예외 컴파일러가 예외처리를 확인하지 않는 RuntimeException클래스들은 'unche..
자바에서 추상화 할 수 있는 방법은 추상화 클래스(abstract class)와 인터페이스 두가지 방법이 있다. 그렇다면 전자와 후자 둘 중 어떤 방법이 더 좋은 방법일까? 바로 인터페이스다. 그러한 이유를 설명해보도록 하겠습니다. 추상화 클래스 인터페이스 상속 갯수 1 N 확장성 이미 구현되어 있는 클래스에서 추상화클래스를 추가할려고 했을 때에는 기존 클래스가 이미 상속받고 있는 지 그리고 이미 명시되어 있는 메소드와 겹쳐 있는 지 확인해야 하는 작업이 필요하다. 추상화 클래스와 다르게 기존 클래스에서 상속받고 있는 지 확인하지 않아도 된다. 인터페이스의 메소드와 기존 클래스 메소드에서 겹친 것이 있더라도 오버라이딩 되면서 문제가 발생하지 않는다.(1) 방향 수직적 수평적 심지어 인터페이스에서 JDK1..
1. 기본지식 클래스변수: 클래스가 메모리에 로딩(loading) 될 때 생성되어 프로그램이 종료될 때 까지 유지되며, public을 앞에 붙이면 같은 프로그래 내에서 어디서나 접근할 수 있는 전역변수의 성격을 갖는다. 지역변수: 메서드 내에 선언되어 메서드 내에서만 사용 가능하며, 메서드가 종료되면 소멸되어 사용할 수 없게 된다. 1. 클래스 변수를 활용한 케이스 public class StaticClass { private static final Pattern PATTERN = Pattern.compile("^(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&+=])(?=\\S+$).{8,}$"); public static boolean validPassword(String passwor..
1. for(int i=0, j=1; i
- Total
- Today
- Yesterday
- django
- Linux
- 카카오
- 면접
- postgres
- Java
- docker
- ubuntu
- Collections
- 자바
- 백준
- 그래프
- dockerignore
- 프로그래머스
- Pattern
- headers
- DRF
- Celery
- BFS
- 파이썬
- Command Line
- setattr
- 알고리즘
- thread
- env
- Spring
- docker-compose
- PostgreSQL
- 2021 KAKAO BLIND RECRUITMENT
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |