JVM( Java Virtual Machine ) 한 문장으로 설명하는 JVM OS에 종속적이지 않은 바이트 코드를 각 OS에 맞게 컴파일하고 실행하는 가상 머신 JVM은 클래스 파일(바이트 코드)을 메모리에 적재하고 실행(네이티브 코드로 컴파일)한다. 자바 언어에는 의존하지 않고 바이트 코드에 의존하는데 그렇기 때문에 바이트 코드로 컴파일될 수 있는 모든 언어(코틀린, 스칼라..)는 JVM위에서 실행될 수 있다. 자바 언어가 OS에 독립적일 수 있는 이유도 이 플랫폼에 종속적인 JVM이 중간단계로 있어 Java언어를 OS에서 분리하기 때문이다. JVM은 Java언어에 대해 알고 있지 않고, 바이트코드인 class 만 알고 있다. 바이트코드로 변환될 수 있는 모든 언어는 JVM위에서 실행 가능하다. j..
오버라이딩 (Overriding) Overriding? 상위 클래스(부모 클래스)의 메소드와 동일한 시그니처의 메소드를 하위 클래스(자식 클래스)에서 구현한 것을 얘기한다. 이렇게 다양한 메서드가 있을 때 실제 생성된 객체에 구현된 메소드를 호출한다. 오버라이딩 조건 오버라이딩하는 메서드를 가진 클래스와 상속 혹은 구현관계에 있어야 한다. 메서드의 시그니처와 리턴타입을 가져야 한다. 부모클래스의 메서드와 접근제어자는 다를 수 있지만, 접근 제어자의 범위가 확장되어야 한다. Why? 타입(Type)은 표현할 수 있는 방법이라고 할 수 있다. 예를 들어 개와 인간과 같은 포유류 들은 젖샘이 있어 수유를 한다는 공톰점을 공유한다. 또한 개와 인간은 모두 걷는다 하지만, 개는 네 발로 걷고 우리는 두 발로 걷는..
다형성 (Polymorphism) 다형성? 다형성은 “형태가 다양하다” 라고 해석할 수 있는데, 예로 나는 남자이고 누군가에게는 친구이며 직원이다. 다양한 역할로 불리고 있다. 또한 나는 인간이며 영장류 이면서 포유류이다. 말 그대로 여러가지 형태로 불려질 수 있다. 이와 같이 다형성은 어떤 객체가 여러가지 형태로 불려질 수 있는 것이다. 예시 예제를 통해 확인 할 수 있는 것은 main 01, 02의 똑같은 타입의 두 객체는 같은 시그니처를 가진 메서드를 호출 했지만 서로 다른 결과를 가져온다. 타입과 상관 없이 그 결과는 new 키워드를 통해 생성된 실제 그 객체의 메서드가 호출되었다. 실제 생성한 인스턴스와 다른 타입으로 메서드를 호출 하더라도, 실제 생성한 인스턴스에 구현된 메서드를 호출하는 것이..
- Total
- Today
- Yesterday
- 동적 타입 언어
- pass by value
- pool
- 동적 디스패치
- 외부 단편화
- Sticky Session
- Session
- 메모리 파편화
- 육각형 아키텍처
- Object Pool
- 메모리 단편화
- Memory Fragmentation
- OOP
- RestAssured
- 수평 분할
- 수직 분할
- pass by reference
- 뾰족함
- SpringBoot 2.2
- 세션 불일치
- ATDD
- 정적 타입 언어
- java
- multimap
- 장애 해결기
- Clean Architecture
- 컴포짓 패턴
- 내부 단편화
- 객체 풀
- 클린 아키텍처
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |