목록전체 글 (75)
Kim Jinung

1. String String은 다음 인터페이스를 모두 구현한다. Serializable: 직렬화 Comparable: 값 비교 CharSequence: 문자 시퀀스 CharSequence Characters의 문자 시퀀스를 표현할 때 사용한다. 다음 세 가지 클래스가 해당 인터페이스를 구현한다. String StringBuffer StringBuilder 일반적으로 프로그래밍 언어에서 String은 Character의 시퀀스다. 그런데 자바의 String은 캐릭터의 시퀀스를 표현하는 '객체'다. 2. How to create String obj? String literal new Keyword 1) String Literal String s1 = "welcome"; String s2 = "welcome..

Overview DBMS는 통상 다음과 같은 레이어로 구성된다. (DBMS마다 구조가 천차만별이지만, 일반적으로는 다음과 같다.) Transport subsystem: 클라이언트의 요청을 받는다. DB 클러스터 노드 간 통신에도 사용한다. Query Processor: 쿼리를 해석, 분석 검증, 최적화하고 실행 계획을 선택한다. Execution Engine: 선택한 실행 계획을 실행한다. 스토리지 엔진의 인터페이스에 해당한다. Storage Engine: 실질적인 데이터 쓰기, 읽기 작업을 담당하는 컴포넌트다. Transport DBMS는 클라이언트/서버 모델에 기반한다. DB를 사용할 때 특정 주소로 연결을 요청하고, 커넥션 풀에서 커넥션을 받아오고, 해당 커넥션을 이용해서 쿼리를 날리는 과정이 익숙..
Primitive type int, char, boolean 등이 그 예시다. 원시 타입의 가장 큰 특징은 다음과 같다. null 값을 가질 수 없다. 값 그 자체다. Wrapper class 래퍼 클래스(Wrapper class)의 메커니즘은 원시 타입을 객체로 변환하는 것이다. 따라서 다음과 같은 특징을 가진다. null 값을 가질 수 있다. 객체를 참조하는 값을 가지고 있다. Why? 왜 굳이 원시 타입을 래핑하는 래퍼 클래스가 별도로 존재할까? 개인적인 추측으로는 자바가 객체 지향 프로그래밍 언어이기 때문이라고 생각한다. 함수형 프로그래밍 언어는 값을 함수의 파라미터로 넘긴다. 범위는 지정하지 않는다. 값을 넘기면 Call by value에 기반하여 계산하고 그 결과를 반환한다. 이때 결과는 파라..