일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 자바
- c언어
- react
- Algorithm
- mongoDB
- 디자인 패턴
- Heap
- JavaScript
- MySQL
- spring webflux
- JPA
- IT
- 네트워크
- 자료구조
- Data Structure
- 백준
- Proxy
- 파이썬
- Galera Cluster
- OS
- design pattern
- C
- MSA
- Spring
- Java
- Kafka
- 운영체제
- 컴퓨터구조
- redis
- Today
- Total
목록Java, Spring (75)
시냅스
SRP : 단일 책임 원칙 (single reponsibility principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호한데 클 수 있고, 작을 수 있다. 문맥과 상황에 따라 다르다. 중요한 기준은 변경에서 파급 효과가 적으면 단일 책임 원칙을 따르는 것이 좋다. 예) UI 변경, 객체의 생성과 사용을 분리 OCP : 개방-폐쇄 원칙 (Open/closed principle) 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 다형성을 활용하여 하나의 인터페이스에 여러 클래스(구현체)를 할당할 수 있다. LSP : 리스코프 치환 원칙 (Liskov subsititution principle) 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타..
클래스 (Class) 객체의 청사진(Blueprint) 상태(클래스, 인스턴스 변수)와 행위(메서드)를 갖는 자바의 기본 단위 상속 (Inheritance) 상위 클래스의 변수와 메소드에 대한 사용권을 갖는 것 subclassing : 다른 클래스의 코드를 재사용할 목적으로 상속을 사용하는 경우 is - a 관계 어휘적 정의가 아닌 기대되는 행동에 따라 타입계층의 의미가 달라질 수 있음. 슈퍼타입과 서브타입 관계에서는 행동 호환성이 중요 subtyping : 타입 계층을 구성하기 위해 상속을 사용하는 경우 행동 호환성 두 타입 사이에 행동이 호환될 경우에만 타입계층으로 묶어야 한다. 동일한 메서드를 구현하면 행동을 호환하는것인가? 슈퍼클래스 (Super Class) 상속되는 클래스, 부모 클래스 서브클래..
와일드카드(Wildcard) 와일드 카드는 모든 타입을 대신할 수 있는 타입이다. 와일드 카드는 정해지지 않은 unknown type 이기 때문에 모든 타입에 대한 호출이 가능하다. 상한 경계 와일드 카드
equals, hashcode Object 의 메소드인 equals와 hashcode에 대해 알아보자. euqals 함수는 객체의 값이 같은지에 대한 여부를 boolean 값으로 반환하는 함수이다. hashcode 함수는 객체의 주소값을 해시코드로 반환하는 함수이다. equals 함수는 객체에 대한 주소 값으로 같은지 여부를 판단하고, hashcode 함수는 객체의 주소값을 해시테이블로 갖고 있기 때문에 객체의 값이 아닌 다른 기준으로 분류하고 싶다면 클래스 내부에서 오버라이딩 해줘야 한다. 구현 예시 class Car { private String model; private String color; public Car(String model, String color) { this.model = mode..

자바 가상 머신, JVM이란 운영체제에 독립적으로 실행하게 하는 버츄얼 머신 자바는 컴파일 과정에서 OS와 소통하는 기계어로 컴파일 되지 않고 JVM이 이해할 수 있는 Java bytecode(.class) 로 변환된다. JVM이 이 bytecode를 OS가 이해할 수 있게 해석한다. 자바 바이트 코드, Java Bytecode 바이트 코드란 가상 컴퓨터(VM)에서 돌아가는 실행 프로그램을 위한 이진 표현법을 의미한다. 자바 바이트 코드(Java bytecode)는 JVM이 이해할 수 있는 언어로 변환된 자바 소스코드를 의미한다. 변경된 자바 바이트 코드(.class) 파일들을 클래스 로더를 통해 JVM 메모리 영역으로 로딩한다. 이 바이트 코드는 다시 인터프리터 또는 JIT 컴파일러에 의해 바이너리 코..