오버라이딩 (Overriding) Overriding? 상위 클래스(부모 클래스)의 메소드와 동일한 시그니처의 메소드를 하위 클래스(자식 클래스)에서 구현한 것을 얘기한다. 이렇게 다양한 메서드가 있을 때 실제 생성된 객체에 구현된 메소드를 호출한다. 오버라이딩 조건 오버라이딩하는 메서드를 가진 클래스와 상속 혹은 구현관계에 있어야 한다. 메서드의 시그니처와 리턴타입을 가져야 한다. 부모클래스의 메서드와 접근제어자는 다를 수 있지만, 접근 제어자의 범위가 확장되어야 한다. Why? 타입(Type)은 표현할 수 있는 방법이라고 할 수 있다. 예를 들어 개와 인간과 같은 포유류 들은 젖샘이 있어 수유를 한다는 공톰점을 공유한다. 또한 개와 인간은 모두 걷는다 하지만, 개는 네 발로 걷고 우리는 두 발로 걷는..
다형성 (Polymorphism) 다형성? 다형성은 “형태가 다양하다” 라고 해석할 수 있는데, 예로 나는 남자이고 누군가에게는 친구이며 직원이다. 다양한 역할로 불리고 있다. 또한 나는 인간이며 영장류 이면서 포유류이다. 말 그대로 여러가지 형태로 불려질 수 있다. 이와 같이 다형성은 어떤 객체가 여러가지 형태로 불려질 수 있는 것이다. 예시 예제를 통해 확인 할 수 있는 것은 main 01, 02의 똑같은 타입의 두 객체는 같은 시그니처를 가진 메서드를 호출 했지만 서로 다른 결과를 가져온다. 타입과 상관 없이 그 결과는 new 키워드를 통해 생성된 실제 그 객체의 메서드가 호출되었다. 실제 생성한 인스턴스와 다른 타입으로 메서드를 호출 하더라도, 실제 생성한 인스턴스에 구현된 메서드를 호출하는 것이..
오브젝트 풀 패턴 (Object Pool Pattern) Object Pool Pattern? 오브젝트 풀 패턴은 생성 디자인 패턴으로, 요청이 들어왔을 때 매번 할당및 삭제를 하는 것이 아니라 미리 만들어 둔 객체 집합 (Pool) 에서 객체를 요청하고 다 사용후 반환하는 형태의 디자인 패턴. 강점 인스턴스화 하는데 많은 비용이 들고, 생성 파괴가 자주 일어날 수 있는 상황에 사용시 인스턴스화 비용을 아낄 수 있어 성능 향상을 이끌 수 있다. 인스턴스 생성 파괴가 빈번히 생기게 되면 메모리 단편화(파편화) 문제가 생길 수 있다. 이 경우 메모리가 충분함에도 불구하고 메모리를 사용할 수 없는 경우가 생길 수 있는데, 인스턴스를 미리 만들어 둔다면 이와 같은 문제를 해결할 수 있다. 메모리 단편화(Memo..
메모리 단편화(Memory Fragmentation) 메모리 단편화란? 메모리 단편화(Memory Fragmentation)란 메모리 사용 가능 공간이 충분함에도 메모리 할당이 불가능한 상태를 얘기한다. 메모리 단편화는 두 가지 종류가 존재한다. 내부 단편화와 외부 단편화인데, 상세 내용은 아래에서 설명한다. 내부 단편화(Internal Fragmentation) 내부 단편화 프로세스가 필요로 하는 크기보다 더 큰 크기의 메모리가 할당되어 낭비되는 공간이 생길 때 내부 단편화라 한다. 예시 외부 단편화(External Fragmentation) 외부 단편화 메모리가 할당되고 해제되는 과정이 계속 되면서, 사용 중인 메모리가 연속적으로 존재하지 않고 중간에 빈 공간이 만들어지는 것을 얘기한다. 이렇게 만들..
- Total
- Today
- Yesterday
- 클린 아키텍처
- multimap
- OOP
- Sticky Session
- RestAssured
- Session
- 내부 단편화
- 수직 분할
- 수평 분할
- 세션 불일치
- 외부 단편화
- 장애 해결기
- SpringBoot 2.2
- 메모리 단편화
- java
- 객체 풀
- 동적 디스패치
- pool
- 정적 타입 언어
- Clean Architecture
- 동적 타입 언어
- 뾰족함
- 컴포짓 패턴
- pass by value
- Memory Fragmentation
- ATDD
- Object Pool
- 육각형 아키텍처
- 메모리 파편화
- pass by reference
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |