전체
JAVA Basic) 컬렉션 프레임워크 - 연습 문제
관련된 포스팅 JAVA Basic) 제네릭(Generic) 목차 프로그램에서 변수를 선언할 때, 메서드에서 매개 변수를 사용할 때도 모든 변수는 자료형이 있다. 대부분은 하나의 자료형으로 구현하지만, 변수나 메서드의 자료형을 필요에 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯..
JAVA Basic) 컬렉션 프레임워크 - Map 인터페이스
컬렉션 프레임워크의 배경 지식은 이전 포스트를 참고하시길 바랍니다. JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어 montoo.tistory.com JAVA Basic) 컬렉션 프레임워크 - Set 인터페이스 이해가 되지 않을 경우 이전 포스팅을 참고하세요. 2021.10...
JAVA Basic) 컬렉션 프레임워크 - Set 인터페이스
이해가 되지 않을 경우 이전 포스팅을 참고하세요. 2021.10.05 - [Programming/JAVA 기초] - JAVA Basic) 컬렉션 프레임워크 JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com 2021.10.06 - [Programming/JAVA 기초] - JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 JAVA Basic) 컬렉션 프레임워크 - List 인터페이스 '컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구..
JAVA Basic) 컬렉션 프레임워크 - List 인터페이스
'컬렉션 프레임워크'가 뭔지 모른다면, 아래 포스트부터 확인할 것 JAVA Basic) 컬렉션 프레임워크 목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 montoo.tistory.com 목차 'List 인터페이스'에는 객체를 순서에 따라 저장하고 유지하는 데 필요한 메서드가 선언되어 있다. 우리가 알고 있는 순차 자료 구조의 대표적인 예는 '배열'이다. 배열은 앞에서 다뤘었는데 자바에서 배열을 구현한 대표적인 클래스는 ArrayList와 Vector가 있고, 구현 방식은 다르지만 순차 자료 구조를 구현한 LinkedList가 있다. 그럼 객체 배열로 가장 많이 사용하고, 자주 활용한 Arra..
JAVA Basic) 컬렉션 프레임워크
목차 흔히 프로그래밍을 건축에 비유를 한다. 원하는 건물을 지으려면 구조를 잘 잡아야하듯, 프로그램 개발도 사용하는 자료를 어떤 구조로 관리할 것인지가 중요하기 때문이다. 그래야 프로그램의 기능을 효과적으로 구현할 수 있기 때문! 이때 사용하는 것이 '자료 구조(data structure)' '자료 구조'는 프로그램 실행 중 메모리에 자료를 유지·관리하기 위해 사용한다. 자바에서는 필요한 자료 구조를 미리 구현하여 java.util 패키지에 제공하고 있는데, 이를 '컬렉션 프레임워크(collection framework)'라고 한다. 자료 구조는 개발자가 필요할 때 직접 만들어 사용할 수도 있다. 하지만 자바 '컬렉션 프레임워크'를 사용하면 직접 개발하는 수고를 덜 수 있을 뿐만 아니라 잘 만들어진 자료..
JAVA Basic) 제네릭(Generic)
목차 프로그램에서 변수를 선언할 때, 메서드에서 매개 변수를 사용할 때도 모든 변수는 자료형이 있다. 대부분은 하나의 자료형으로 구현하지만, 변수나 메서드의 자료형을 필요에 따라 여러 자료형으로 바꿀 수 있다면 프로그램이 훨씬 더 유연해질 것이다. 이처럼 어떤 값이 하나의 참조 자료형이 아닌 여러 참조 자료형을 사용할 수 있도록 프로그래밍하는 것을 '제네릭(Generic)프로그래밍'이라고 한다. '제네릭 프로그램'은 참조 자료형이 변환될 때 컴파일러가 검증을 해 꽤 안정적이다. '컬렉션 프레임워크'의 많은 부분이 이 '제네릭'으로 구현되어있다. 예제로 제네릭에 대해 이해해보자. 3D프린터는 재료를 가지고 입체 모형을 만드는 일을 한다. 재료는 파우더나 플라스틱을 사용한다. 먼저 파우더를 재료로 쓰는 3D..
JAVA Basic) 자료 구조
책에는 정리되어있지 않지만, 컬렉션 프레임워크에 들어가기 전에 알아두면 좋을 내용. 목차 프로그래밍에서 데이터를 구조적으로 표현하는 방식과 이를 구현하는 데 필요한 알고리즘에 대해 논하는 기초이론, 혹은 과목. 컴퓨터과학에서 알고리즘과 함께 가장 중요한 기초이론. 같은 형의 데이터 타입을 메모리에 저장하는 선형적 자료구조. 논리적 구조와 물리적 구조가 동일하다. 배열의 특징 fixed length : 배열의 길이가 정해져 있음. 인덱스(index)연산 : 배열의 길이가 정해져 있기 때문에 요소를 찾기 수월함. in/out, insert/delete가 n개(요소의 개수)에 종속 : 연산의 횟수가 n개(요소의 개수)에 종속되어있다. JDK ArrayList : 알고리즘에 최적화 Vector : 자바 1.2부..
JAVA Basic) 기본 클래스 - 연습문제
목차 Q1. 두 개의 인스턴스가 메모리는 다르더라도 논리적으로 동일하다는 것을 구현하는 Object의 메서드는 [ ]입니다. Q2. String 클래스는 멤버로 가지는 문자열 변수가 final이어서 변하지 않는다. 다음과 같이 두 개의 String 변수를 연결할 때 힙 메모리에 생성되는 String 인스턴스를 그려보자. Stirng a = new String("abc"); String d = new String("def"); String a = a+d; Q3. 기본 자료형을 멤버 변수로 포함하여 메서드를 제공함으로써 기본 자료형의 객체를 제공하는 클래스를 [ ]라고 한다. Q4. 다음 코드의 출력결과가 '진돗개 멍멍이'가 되도록 MyDog 클래스를 수정해보자. class MyDog { String nam..
JAVA Basic) Class 클래스
목차 자바의 모든 클래스와 인터페이스는 컴파일되고 나면 class파일로 생성된다. 예를 들어 a.java 파일이 컴파일 되면 a.class파일이 생성되고. 이 class파일에는 클래스나 인터페이스에 대한 변수, 메서드, 생성자 등 정보가 들어있다. 'Class 클래스'는 컴파일 된 class 파일에 저장된 클래스나 인터페이스 정보를 가져오는데 사용된다. 지금까지 변수를 선언할 때 자료형을 미리 파악하고 그 자료형에 따라 변수를 선언했다. 그리고 클래스를 사용할 때도 이미 그 클래스 정보(메서드, 변수 등)를 알고 있는 상황에서 프로그램을 만들었다. 그런데 어떤 경우에는 여러 클래스 중에 상황에 따라 다른 클래스를 사용해야 할 때도 있고, 반환받는 클래스가 정확히 어떤 자료형인지 모를 때도 있다. 이렇게 ..
JAVA Basic) 기본 클래스
목차 지금까지 String, Integer와 같은 클래스를 자료형으로 불러와 사용했다. 이러한 클래스들은 'java.lang 패키지'에 속해있다. String 클래스의 전체 이름은 java.lang.String이고, Integer 클래스는 java.lang.Integer이다. 이처럼 java.lang 패키지에는 기본적으로 많이 사용하는 클래스들이 포함되어 있다. 자바가 설치된 경로에 있는 src.zip(자바 소스 코드 압축 파일)의 압축을 풀면 src폴더가 나타나는데, 이 폴더 하위의 [ java.base\java\lang ]에 들어가면 java.lang 패키지에서 제공하는 여러 소스 코드를 확인할 수 있다. 자바 프로그래밍에서 외부 패키지에 선언한 클래스를 사용할 때는 기본적으로 import문으로 클래..
JAVA Basic) 인터페이스 - 연습 문제
목차 Q1 클래스가 인터페이스를 구현하기 위해 사용하는 예약어는 [ ]이다. Q2 클래스가 인터페이스를 구현할 때 인터페이스에 선언한 메서드를 모두 구현하지 않으면 그 클래스는 [ ]가 된다. Q3 인터페이스에 선언한 변수는 컴파일할 때 [ ]로 변환된다. Q4 한 인터페이스를 여러 클래스가 다양한 방식으로 구현한 경우에 프로그램에서 인터페이스에 선언된 메서드를 사용할 때 각 클래스의 구현 내용과 상관없이 도잉ㄹ한 방식으로 사용할 수 있다. 이렇게 같은 코드가 여러 구현 내용으로 실행되는 객체 지향 특성을 [ ]이라고 한다. Q5 인터페이스에서 구현한 코드를 제공하는 메서드는 [ ] 와 [ ]이다. Q6 한 클래스에서 여러 인터페이스를 구현할 수 있다. [ 예 / 아니오 ] Q7 숫자 정렬 알고리즘에는 ..
JAVA Basic) 인터페이스 활용
목차 한 클래스가 여러 클래스를 상속받으면 메서드 호출이 모호해지는 문제가 발생할 수 있다. 하지만 인터페이스는 한 클래스가 여러 인터페이스를 구현할 수 있다. package interfaceex; public interface Buy { void buy(); } package interfaceex; public interface Sell { void sell(); } 그림을 보면 Customer클래스는 Buy와 Sell 두 인터페이스를 구현하고 있다. Buy인터페이스에 추상 메서드 buy()가 선언. Sell인터페이스에 추상메서드 sell()이 선언. package interfaceex; public class Customer implements Buy, Sell{ // Customer클래스는 Buy와..