본문 바로가기

자바에 해당하는 글들

6 Articles matched
목록이 없습니다.
[JAVA] 컬렉션 클래스 (Map) 컬렉션 클래스 HashMap HashMap과 Hashtable의 관계는 ArrayList와 Vector의 관계와 같아서 Hashtable보다는 새로운 버전인 HashMap을 사용하는 것을 권장한다. 둘다 Map인터페이스를 상속받아 구현되어 데이터를 키와 값으로 관리하는 자료구조이다. 큰 특징으로는 키(Key)가 데이터를 추출할 때 구분자로 활용하는 방식을 취하는데 이는 리스트 인터페이스와 같은 자료구조보다 탐색에 있어서 더 높은 효율을 기대할 수 있다. 책에는 HashMap에 대해서만 설명이 되어 있는데 둘의 차이점을 간단히 살펴보고 넘어가자, HashMap과 Hashtable의 차이 둘의 차이점으로 동기화를 들 수 있다. HashMap의 경우 동기화를 지원하지 않는다. 반면 다중 쓰레드 환경에서 Has..
[JAVA] 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크(Collection Framework)자바에서 컬레션 프레임워크이란, 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 다시 말해 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. JDK 1.2 이전까지는 Vector, Hashtable, Properties와 같은 컬렉션 클래스들을 서로 각자 다른 방식으로 처리해야 했으나 JDK 1.2부터 컬렉션 프레임웍이 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화되었다. 이러한 컬렉션 프레임워크은 자바의 인터페이스(interface)를 사용하여 구현된다. 컬렉션 프레임워크의 핵심 인..
[JAVA] 다형성 다형성이란? 자바에서 다형성은 객체지향 개념의 중요한 특징 중 하나다. 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 말한다. 가장 쉬운 다형성의 예제로는 지난 시간 정리했던 오버로딩이 있다. 또한 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 쉽게 말해서 부모 클래스 타입의 참조변수로 자식 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 12345678910111213class Tv { boolean power; // 전원 상태 (on/off) int channel; // 채널 void power() { power = !power } void channelUp() { ++channel; } void channelDown(..
[JAVA] 오버라이딩 및 패키지 개념 정리 오버라이딩 저번에 놓친 조건으로는 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다는 점. 예를들어 다음과 같은 코드가 있다. 1234567891011Class Parent { void parentMethod() throws IOException, SQLException { }} Class Child extends Parent { void parentMethod() throws IOException { }}Colored by Color Scriptercs- 올바른 오버라이딩 여기서 문제는 단순히 선언된 예외의 개수가 문제가 아니라는 점이다. 12345Class Child extends Parent { void parentMethod() throws Exception { }}Colored by C..
[JAVA] 메서드(Method) 목차 1. 선언 위치에 따른 변수의 종류 2. 자바 메서드 2-1. 메서드 구성요소 2-2. 메서드 흐름 2-3. 매개변수 유효성 검사 선언 위치에 따른 변수의 종류 자바에서는 클래스 안에 변수와 메서드가 존재하는데 이 안에서도 어느 영역에 선언을 해주느냐에 따라 종류가 달라지고 생성시기가 다르다. 12345678910Class Variables{ int iv; // 인스턴스 변수 static in cv; // 클래스 변수 (static 변수, 공유 변수) void method() { int lv = 0; // 지역변수 }}Colored by Color Scriptercs 위의 코드처럼 클래스를 생성해준 경우 각 변수들의 차이는 다음 표와 같다 변수의 종류 선언 위치 생성시기 클래스 변수 클래스영역 클래..
[JAVA] JVM 동작원리 및 기본개념 JAVA라는 언어를 통해 코딩을 하고 있는 사람으로서 JAVA의 간단한 탄생배경 그리고 JAVA의 시작과 끝이라고 할 수 있는 JVM을 한 번 짚고넘어가려고 해요 우선 JAVA의 탄생배경을 좀 알고가면 이해하기 더 좋을 듯 싶어서 먼저 정리해 봅니다 목차는 다음과 같습니다 1. JAVA 탄생 배경 2. 자바 코드(JAVA Code) 실행 과정 3. JVM 동작원리 및 기본개념 3-1. 클래스 로더 (Class Loader) 3-2. 런타임 데이터 영역(Runtime Data Area) 3-3. 실행 엔진(Execution Engine) JAVA 탄생배경 JAVA는 썬 마이크로시스템즈의 제임스 고슬링이라는 사람과 다른 연구원들이 개발한 프로그래밍 언어에요 1991년 그린 프로젝트(Green Project)..