Loading...
2019. 2. 7. 01:24

1.5.4 래퍼 클래스

자바에서는 참조형 값만 받는다고 정의되어 있으면 기본 자료형을 이용할 수 없는 경우도 있다.이때는 기본 자료형을 클래스로 변환해야 한다. 자바에서는 이런 경우에 대응하고자 래퍼 클래스라는 기본 자료형을 나타내는 클래스가 각각 준비되어 있다. 기본 자료형과 래퍼 클래스의 변환은 자동으로 이루어진다. 단, 기본 자료형과는 달리 래퍼 클래스의 초깃값은 null이 된다는 점에 주의해야 한다. 그래서 값을 설정하지 않으면 0이 아니라, null이 되므로 그때 자동으로 변환되면 예외가 발생한다. 주의하자!!

1.5.3 인스턴스

클래스에서 생성된 실체를 인스턴스라고 하며 참조형 데이터가 된다. 자바에서는 다음처럼 new 키워드로 인스턴스를 생성한다. Date today = new Date(); 단, String의 경우 큰따옴표로 에워싼 문자열을 대ㅐ입해 인스턴스를 생성할 수도 있다. String name = "길동";

2019. 2. 7. 01:20

1.5.2 참조형

참조형은 인스턴스가 위치한 메모리 영역(힙 영역)의 주소를 가지는 자료형이다.주요 참조형으로는 클래스와 배열이 있다. 참조형으로 변수만 선언한 경우(초깃값을 지정하지 않은 경우) 참조할 주소가 없으므로 그 값은 null,즉 아무것도 가리키지 않은 상태가 된다. Note _ 스택 영역과 힙 영역 위 그림에 나오는 메모리 영역에 대해 보충 설명한다. 자바에서는 설정한 값을 메모리 영역에 확보한다. 또한 데이터는 메모리 영역에 있는 스택 영역에 설정된다. 이 때 기본 자료형은 설정할 크기가 정해져 있으므로 스택 영역에 함께 설정된다. 하지만, 클래스 등 참조형 데이터는 인스턴스화 될 때까지 메모리 영역을 어느 정도 사용할지 알 수 없다. 따라서 참조형 데이터는 처음에는 참조 주소를 저장할 수 있는 크기만 확보..

2019. 1. 30. 21:14

1.5 자료형

자바에서 다루는 자료형은 크게 둘로 나눌 수 있다.하나는 기본 자료형이고, 다른 하나는 참조형이다. 둘의 차이점은 다음과 같다. - 기본 자료형은 데이터 값을 직접 가진다.- 참조형은 값을 가진 인스턴스의 참조 주소(메모리상의 배치된 장소)를 가진다. 인스턴스 자체를 가지는 것은 아니다. 1.5.1 기본 자료형기본 자료형은 값을 직접 가진 자료형이다. 따라서 값을 변경하면 데이터의 내용이 직접 치환된다. 기본 자료형에는 다음 표와 같은 것이 있다. 기본 자료형에서 주의할 점은 자료형의 범위를 넘더라도 오류가 발생하지 않는다는 것이다. 양수라면 음수로, 음수라면 양수로 자동 변환해 버리기 때문이다. 예를 들어 int의 최댓값(Integer.Max_VALUE)인 2.147.483.647에 1을 더하면 결과는..

다시 한번 딛은 발걸음

벌써 2018년이 지난 올해 첫 달이 마지막을 고하고 있다. 세월은 빠르게 달려가는데 혼자만 제자리 걸음을 하고 있는 느낌이라 한숨이 나온다... 그럴 때 우연히 마주친 블로그 https://ryan-han.com/post/2018/essay/memoirs2018/ 체대생인데 나와 비슷하게 개발을 시작하고 훨씬 앞을 달리고 계셨다. 내가 지금 상황이 훨씬 절실한 상황인데 현실이 눈에 아직 보이지 않는 것인가? 다시 한번 마음을 잡고 달려보자고 다시 포스팅을 시작했다.

Chapter 1. 자바 interface

자바 interFace는 메서드 집합을 의미한다. 이 interface를 구현하는 클래스는 이러한 메서드를 제공해야 한다. 예를 들어 java.lang 패키지에 정의된 Comparable interface의 소스 코드는 다음과 같다. ----------------------------------------------------------------------------------------------------------------------------public interface Comparable {public int compareTo(T o);}---------------------------------------------------------------------------------------..

Chapter 1 리스트가 두 종류인 이유

JCF를 사용하다 보면 종종 ArrayList와 LinkedList 클래스를 혼동한다. 왜 자바는 List 인터페이스에 두 가지 구현을 제공할까? 둘 중 어느 것을 선택해야 할까? 다음 몇 장에 걸쳐 이에 대한 답을 알아본다. interface와 이를 구현하는 클래스를 살펴보고 인터페이스 프로그래밍 개념에 대해 알아본다. 처음 몇 가지 예제에서 ArrayList, LinkedList와 유사한 클래스를 구현한다. 따라서 이 들의 동작방법과 각각의 장단점을 알게 된다. 어떤 동작은 ArrayList가 빠르거나 저장 공간을 적게 사용하고 다른 상황에서는 LinkedList가 빠르거나 메모리 사용량이 적다. 어느 것이 더 좋을지는 수행하는 동작에 달려 있는 것이다.

시작에 앞서...

이 포스팅은 다음 세 가지 주제를 다룬다. - 자료구조자바 컬렉션 프레임워크 구조로 시작하여 리스트, 맵과 같은 자료구조를 사용하는 방법과 이들이 어떻게 동작하는지를 알아본다. - 알고리즘 분석코드를 분석하고 이 코드가 얼마나 빨리 동작하는지와 얼마나 많은 공간(메모리0이 필요한지를 예측해본다. - 정보 검색앞의 두 주제에 동기를 부여하고 예제가 더욱 흥미롭도록 자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진을 만들어 본다. 이 세 가지 주제를 다음 흐름으로 다룬다. - List 인터페이스로 시작하여 두 가지 방식으로 이 인터페이스를 구현하는 클래스를 작성한다. 그 다음 ArrayList와 LinkedList 클래스로 작업한 구현을 서로 비교한다. - 트리 모양의 자료구조를 소개하고 첫 번째 응용 프..