프로그래밍 언어/JAVA (62) 썸네일형 리스트형 JAVA 입문 - Set 인터페이스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - List 인터페이스 순서와 상관 없이 중복을 허용하지 않는 경우 Set 인터페이스를 구현한 클래스를 사용한다. 우리가 사용하는 데이터 중 중복을 허용하지 않는 데이터는 뭐가 있을까? 회원 아이디나 주민등록번호, 사번, 전화 번호 등은 중복되면 안될 것이다.Set 인터페이스를 구현한 대표 클래스에는 HashSet와 TreeSet가 있다. 우선 HashSet부터 살펴보자. HashSet 클래스 HashSet 클래스는 집합 자료 구조를 구현하며 중복을 허용하지 않는다. 중복을 허용하지 않는다는 의미를 알기 위해 아래와 같이 간단한 HashSet를 테스트하는 프로그램을 작성해보자. HashSet 클래스를 생성하고 문자열 자료를 추가한다. 11~12행 .. JAVA 입문 - List 인터페이스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 컬렉션 프레임워크 List 인터페이스에는 객체를 순서에 따라 저장하고 유지하는 데 필요한 메서드가 선언되어 있다. 우리가 알고 있는 순차 자료 구조의 대표적인 예는 배열이다. 자바에서 배열을 구현한 대표 클래스로는 ArrayList, Vector가 있고 배열과 구현 방식은 다르지만 순차 자료 구조를 구현한 LinkedList가 있다. 그럼 객체 배열로 가장 많이 사용하고 공부하며 자주 활용한 ArrayList에 대해 살펴보자. ArrayList 클래스 ArrayList는 그동안 공부하며 종종 사용했다. 객체 배열을 구현한 클래스이며 컬렉션 인터페이스와 그 하위 List 인터페이스를 구현하였다. 객체 순서를 기반으로 순차적으로 자료를 관리하는 프.. JAVA 입문 - 컬렉션 프레임워크 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 제네릭 컬렉션 프레임워크란? 흔히 프로그램 개발을 건물 짓는 일에 비유한다고 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯 프로그램을 개발할 때도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하다. 그래야 프로그램의 기능을 효과적으로 구현할 수 있기 때문이다. 이때 사용하는 것이 자료 구조(data structure)이다. 자료 구조는 프로그램 실행 중 메모리에 자료를 유지, 관리하기 위해 사용한다. 자바에서는 필요한 자료 구조를 미리 구현하여 java.util 패키지에서 제공하고 있는데, 이를 컬렉션 프레임워크(collection framework)라고 한다. 자료 구조는 개발자가 필요할 때 직접 만들어 사용할 수도 있다. 하지만 자.. JAVA 입문 - 제네릭 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - Class 클래스 제네릭이란? 프로그램에서 변수를 선언할 때 모든 변수는 자료형이 있다. 메서드에서 매개변수를 사용할 때도 자료형을 갖고 있다. 대부분은 하나의 자료형으로 구현하지만, 변수나 메서드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다. 이처럼 어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍하는 것을 '제네릭(Generic)'프로그래밍이라 한다. 제네릭 프로그램은 참조 자료형이 변환될 때 이에 대한 검증을 컴파일러가 하므로 안정적이다. 앞으로 배울 '컬렉션 프레임워크'도 많은 부분이 제네릭으로 구현돼 있다고 한다. 예제를 통해 제네릭의 사용 방식과 장점 등을 알아보자. 제네릭의 필요성 3D .. JAVA 입문 - Class 클래스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - wrapper 클래스 자바의 모든 클래스와 인터페이스는 컴파일 되고 나면 class 파일로 생성된다. 예로 a.java 파일이 컴파일 되면 a.class 파일이 생성되고 이 class 파일에 클래스나 인터페이스에 대한 변수, 메서드, 생성자 등의 정보가 들어있다. Class 클래스는 컴파일 된 class 파일에 저장된 클래스나 인터페이스 정보를 가져오는 데 사용한다. Class 클래스란? 지금까지는 변수를 선언할 때 자료형을 미리 파악하고 그 자료형에 따라 변수를 선언했다. 그리고 클래스를 사용할 때도 이미 그 클래스 정보(변수, 메서드 등)를 알고 있는 상황에서 프로그램을 만들었다. 하지만 어떤 경우에는 여러 클래스 중에 상황에 따라 다른 클.. JAVA 입문 - wrapper 클래스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - String 클래스 기본 자료형을 위한 클래스 지금까지 공부하면서 정수를 사용할 때 기본형인 int를 사용했다. 그런데 정수를 객체형으로 사용해야 하는 경우가 있다고 한다. 예를 들어 매개변수가 객체거나 반환 값이 객체인 경우이다. public void setValue(Integer i) {...} //객체를 매개변수로 받는 경우 public Integer returnValue( ) {...} //반환 값이 객체형인 경우 이를 위해 자바에서는 기본 자료형처럼 사용할 수 있는 클래스를 제공한다. 이런 클래스를 '기본 자료형을 감쌌다'는 의미로 Wrapper 클래스라고 한다. 그 종류는 아래와 같다. 그럼 가장 대표적인 Integer 클래스를 통해.. JAVA 입문 - String 클래스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문- Object 클래스 String을 선언하는 두 가지 방법 자바는 문자열을 사용할 수 있도록 String 클래스를 제공한다. 문자열은 프로그램을 구현할 때 많이 활용된다고 한다. String을 사용할 때 문자열을 생성자의 매개변수로 하여 생성하는 방식과 이미 생성된 문자열 상수를 가리키는 방식이 있다. String str1 = new String("abc");//생성자의 매개변수로 문자열 생성 String str2 = "test";//문자열 상수를 가리키는 방식 언뜻 비슷해 보이지만, 내부적으로 두 방식은 큰 차이가 있다. new 예약어를 사용하여 객체를 생성하는 경우는 "abc" 문자열을 위한 메모리가 할당되고 새로운 객체가 생성된다. 하지만 s.. JAVA 입문- Object 클래스 지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 인터페이스 java.lang 패키지 지금까지 프로그램을 공부하고 구현하면서 String, Integer 같은 클래스를 사용했다. 이런 클래스들은 java.lang 패키지에 속해 있다. 자바 프로그래밍에서 외부 패키지에 선언한 클래스를 사용할 때는 import 문으로 클랠스가 어느 패키지에 속해 있는지 선언해야 하는데 여태 공부하면서 import java.lang.String; 같은 문장을 쓴 기억이 없다. 이유는 java.lang 패키지는 컴파일할 때 import java.lang 문장이 자동으로 추가되어 java.lang 패키지 하위 클래스를 모두 사용할 수 있기 때문이다. 오늘은 모든 자바 클래스의 최상위 클래스인 java.lang.Obje.. 이전 1 2 3 4 5 6 ··· 8 다음 목록 더보기