: 자바 프로그래밍에 가장 기본이 되는 클래스들이 모여있는 패키지. 별도로 import하지 않아도 사용 가능하다. (e.g. String, System, ..) Object : 모든 클래스의 최고 조상 클래스 equals: 주소값으로 객체 비교. Object는 최고 조상 클래스이기 때문에 다른 class를 정의할 때 equa...
절차지향과 객체지향
: 비즈니스 로직을 처리하는 두가지 패턴 비교 (스프링 관점) view나 persistence layer를 이야기하는 것이 아니고, Domain layer를 구성하는 여러가지 방법론 중 절차지향과 객체지향에 관한 것 정답이 정해져있는 것이 아니라 상황에 맞게 트레이드 오프를 따져야 하고, 변화에 더욱 초점을 두려면 객체지향적으로 리팩...
객체지향 개론 2. 설계
: 객체지향적 설계란 응집도, 결합도, 캡슐화의 측면에서 변경이 쉽도록 짜는 것이다. 설계는 항상 두가지 사용자를 다 염두해야 한다. 기능을 사용하는 사람, 코드를 건드는 사람 설계의 트레이드오프 (절차지향) 심플하게 만들 것인가? (객체지향) 복잡하더라도 변경에 유연하게 만들 것인가? 객체지...
객체지향 개론 1. 메시지
: 핵심 키워드는 메시지. 객체에게 메시지를 날려 무언가를 처리하기를 요구한다. 객체지향적 관점이란? : 시스템을 객체들이 모여있는 덩어리로 시스템을 바라보는 관점. 함수형에서는 시스템을 함수의 집합체로 바라보고, 절차지향에서는 시스템을 프로세스와 데이터의 집합체로 바라본다. 객체지향에서는 객체들끼리 모여 시스템을 만들기 때문에, 객...
자바의정석 - 08장 예외처리
Error 심각한 오류이다. 시스템적인 문제이고, try... catch와 같은 예외처리로는 복구가 불가능하다. e.g) OutOfMemory, StackOverflow 등 Exception과의 차이 스택오버플로우와 같은 Error는 일단 발생하면 복구할 수 없다.(서버 재실행 등 필요) 그러나, E...
자바의정석 - 11장 컬렉션 프레임워크 5. Properties, Collections
Properties : Key-Value (String, String) 형태로 무언가를 저장하고자 할 때 사용한다. 데이터를 txt, xml 등의 외부 파일로부터 읽고 쓰는 편리한 기능 제공한다. 그래서 간단한 입출력은 Properties를 사용한다. 외부 파일에서 K-V는 ‘=’로 연결된 형태여야 한다. ...
자바의정석 - 11장 컬렉션 프레임워크 4. Map
HashMap Hashtable의 새로운버전. 따라서 HashMap이 권장된다. Map을 구현하기 때문에 Map의 특성을 갖는다. (저장순서 유지 X). Hashing 하기때문에 검색에 있어 뛰어난 성능을 보인다. HashMap 내부에 Entry(Key, Value로 이루어진 i...
자바의정석 - 11장 컬렉션 프레임워크 3. Set
: Set 인터페이스의 구현체는 크게 HashSet과 TreeSet으로 나눠서 생각하면 된다. HashSet : Set을 구현하는 가장 대표적인 컬렉션. 일반적인 Set 중복된 요소를 추가하고자 한다면 추가되지 않고 false가 반환된다. 내부적으로 HashMap을 이용해 만들어져있고, hashing을 통해 구...
자바의정석 - 11장 컬렉션 프레임워크 2. Iterator, Arrays, Comparable
Iterator : 컬렉션에 저장된 요소들에 접근하는 기능을 하는 Interface Collection 인터페이스는 Iterator 인스턴스를 반환하는 메소드를 갖고있다. 자식 List, Set에도 구현되어있고 각각의 iterator는 자식마다 특성에 맞게 다르게 구현되어있다. 원소간 이동 전에 항상 has~~(...
자바의정석 - 11장 컬렉션 프레임워크 1. List
컬렉션 프레임워크란? : List, Set, Map으로 구성된 컬렉션들을 사용하기 위해 표준화된 설계 java.util 패키지에 포함되어있다. jdk 1.2부터 제공되었다. 이전 버전의 도구들이 하위호환성을 위해 여전히 남아있다. 따라서, 지금부터 작성하는 곳에는 이 프레임워크를 사용하는 것이 좋다. 이전 버전과는 주로 동기...