인터페이스란? 인터페이스란 메서드에 대한 선언만 한 상태로 모든 메서드를 추상화로 정의한 상태를 말합니다. 인터페이스 정의하는 방법 인터페이스는 Interface 키워드와 함께 정의합니다. 인터페이스는 오로지 추상 메서드와 상수만을 포함할 수 있습니다.( Java 8 기준 ) 인터페이스는 객체를 생성할 수 없기 때문에 생성자를 가질 수 없습니다. 인터페이스에 선언되어 있는 모든 변수는 public static finl로 선언해야 하며 pubic static final을 생략할 수 있습니다. 인터페이스에 선언되어 있는 모든 메서드는 public abstract로 선언해야 하며 public abstract를 생략할 수 있습니다. 인터페이스에 선언되어 있는 상수는 static {} 블록으로 초기화할 수 없기 ..

Object 클래스란 java.lang.Object 클래스는 모든 클래스의 최상위 클래스로 모든 클래스는 Object 클래스를 상속받습니다. 따라서 모든 클래스는 Object 클래스의 메서드를 사용할 수 있고 일부 메서드를 재정의하여 사용할 수 있습니다. 다만 final 메서드는 재정의할 수 없습니다. java.lang.Object 패키지는 컴파일러에 의해 자동으로 import됩니다. Object 클래스는 필드는 없고 메서드로 구성되어 있습니다. equals() 객체 간의 동일성을 비교하고 싶은 경우 == 을 사용하지 않고 equals() 메서드를 사용해야 합니다. equals()메서드를 구현해야한다면 hashCode() 메서드도 함께 구현해야 합니다. equals() 메서드의 경우 기본적으로 Objec..
추상 클래스 하나 이상의 추상 메서드를 포함하는 클래스입니다. 추상 메서드란 선언부만 존재하며 본체는 없는 함수입니다. 해당 메서드 앞에 abstract 라는 키워드를 붙이며 추상 메서드가 포함되어 있다면 클래스 또한 추상 클래스이어야 하므로 클래스명 앞에 abstract 키워드가 있어야 합니다. 어떠한 추상 클래스를 상속받은 자식 클래스에서 추상 메서드를 구현하지 않는다면 자식 클래스 또한 추상 클래스가 되어야 합니다. 객체를 생성할 수 없다는 점을 제외하고는 일반 클래스와는 다른점이 없으며, 멤버 변수와 일반 메서드를 가질 수 있습니다. // 객체 생성 불가능 Animal animal = new Animal(); 추상 클래스의 목적 추상 클래스는 일반 클래스와 달리 객체를 생성할 수 없다고 했는데 어..

다이나믹 메소드 디스패치란? Dynamic Method Dispatch 다이나믹 메소드 디스패치란 자바의 테크닉 중 하나로, 런타임시에 오버라이딩 된 메서드가 실행되는 것을 의미합니다. dynamic은 runtime의 동의어로 사용되며, dispatch는 어떤 메서드를 호출할지 결정하는 것입니다. 자바는 런타임 시 객체를 생성하고, 컴파일 시에는 생성할 객체 타입에 대한 정보만 가지고 있습니다. 이에따라 이 과정은 정적(static)과정과 동적(dynamic)과정이 있습니다. Static Dispatch(정적 디스패치) 컴파일 시점에서, 컴파일러가 어떤 클래스의 메서드를 호출할 것이라고 명확하게 알고 있는경우 컴파일 시 생성된 바이트 코드에도 해당 정보가 남아있습니다. 런타임(실행 시점)이 되지 않아도 ..
- Total
- Today
- Yesterday
- spring boot redisson 분산락 구현
- spring boot redisson destributed lock
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- transactional outbox pattern
- spring boot excel download paging
- spring boot poi excel download
- redis sorted set으로 대기열 구현
- 서비스 기반 아키텍처
- microkernel architecture
- redis sorted set
- spring boot redisson sorted set
- pipe and filter architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- java userThread와 DaemonThread
- pipeline architecture
- spring boot excel download oom
- 람다 표현식
- 자바 백엔드 개발자 추천 도서
- spring boot redis 대기열 구현
- redis 대기열 구현
- JDK Dynamic Proxy와 CGLIB의 차이
- service based architecture
- java ThreadLocal
- 레이어드 아키텍처란
- spring boot 엑셀 다운로드
- polling publisher spring boot
- @ControllerAdvice
- space based architecture
- transactional outbox pattern spring boot
- 공간 기반 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |