본문 바로가기

bitcamp/JAVA

(32)
컬렉션 프레임워크_연습문제2 1. 학생 정보를 나타내는 Student 클래스에는 이름, 학과, 학번, 학점 평균을 저장하는 필드가 있다. 학생마다 Student 객체를 생성하고 4명의 학생 정보를 ArrayList 컬렉션에 저장한 후, ArrayList의 모든 학생(4명) 정보를 출력하고, 학생 이름을 입력받아 해당 학생의 학점 평균을 출력하는 프로그램을 작성하라. · 참고 · 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 class Student{ private String name, major, sNumber; private double grade; Student(String name, String ..
컬렉션 프레임워크_연습문제1 1. 아래와 같이 양수를 입력받아 저장하고, 가장 큰 수를 출력하는 프로그램을 작성하여라. 단, Scanner 클래스로 -1이 입력되면 종료되어 큰 수가 출력된다. · 참고 · 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Link{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); List list = new LinkedList(); int max = 0; System.out.println("정수를 입력해주세요(-1은 stop)"); while(true) { Integer num; num = sc.nextInt(); list.add(num..
컬렉션 프레임워크 1. 컬렉션 프레임워크란? · 컬렉션 프레임은 Set, List, Queue, Map와 같이 크게 4가지로 분류된다. · 자료구조 및 알고리즘을 구현해 놓은 일종의 라이브러리로써(일종의 class 모임들), 제네릭 기반으로 구현한다. 2. List · List 인터페이스를 구현하는 대표적인 컬렉션은 ArrayList와 LinkedList가 있다. · List 컬렉션 프레임워크 종류 중 하나로, list, add, size, get, remove 등의 키워드를 사용한다. ※ArrayList · 배열 기반으로 이루어진 구조이며, 연속된 구간으로 형성되어 삽입/삭제보다는 검색 위주로 사용된다. · 잠점: 인스턴스 참조가 빠르다. (주소를 직접적으로 검색) · 단점: 공간이 부족한 경우, 기존 배열을 복사하여 ..
제네릭_연습문제 1. 아래를 참고하여 출력값이 나오도록 프로그래밍 하시오. · 참고 · 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 class DBox { private F fruit; private N num; public void set(F f, N n) { fruit = f; num = n; } @Override public String toString() { return fruit + " & " + num; } } class DDBox{ private F2 fruit2; private N2 num2; public void set(F2 f2, N2 n2) { fruit2 = f2; num2 = n2; } @Override..
제네릭 1. 제네릭이란? · 최상위 클래스인 Object를 사용함으로써 모든 객체들을 받을 수 있기 때문에 컴파일 오류가 직접적(빨간줄)로 보이지 않고, 실시간 에러(출력에서)를 발생시킨다. · 가장 큰 문제는 실시간 오류가 발생하지않고, 전혀 다른 값을 출력하는 경우인데 이와 같은 문제점들을 보완하기 위해 제네릭를 사용한다. · 제네릭 타입을 이용함으로써 잘못된 타입이 사용되어 문제 발생 시 사전에 컴파일 과정에서 제거가 가능하고, 객체의 타입을 컴파일 시에 체크하여 객체 타입의 안정성이 증가하고 형변환도 감소한다. · 제네릭 타입은 으로 표현하고, 그 사이에는 타입 파라미터를 가진다. 2. 제네릭의 기본 문법 · Object ob는 어떠한 객체든 받아들이며, Object 부분을 타입으로 변경하여 정의..
자바의 기본 class_연습문제 1. 아래의 결과 값은 false 출력이 된다. true가 되도록 INum을 작성하시오. · 참고 · 작성 : 참고에서 Arrays equals(ar1, ar2)는 객체를 비교하기 때문에 서로 다른 인스턴스를 참조하고 있어 false를 출력한다. 작성한 INum에서는 equals 함수 오버라이딩을 하여 단순히 내용을 비교하기 때문에 true를 출력하게 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 class INum{ private int num; public INum(int num){ this.num = num; } @Override public boolean equals(Object obj){ if(this.num == ((IN..
자바의 기본 class 1. Wrapper 클래스 · 기본 자료형 8개를 인스턴스로 요구되는 경우가 존재하는데, 그 때 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스라 하며, class 내부에 있는 함수를 사용한다. · 래퍼 클래스는 기본 자료형의 첫 글자를 대문자로 변경해서 표기한다. ①Boxing: 기본자료형을 객체로 변환 ex) Interger obj = new Integer(10); ②UnBoxing: 객체를 기본자료형으로 변환 ex) int num = obj.intValue(); ③Auto Boxing/Auto UnBoxing: 인스턴스를 직접적으로 혹은 기본자료형을 직접적으로 대입하는 경우 자동 변환되는 기능 ex) Auto Boxing → Integer iObj = 10; Auto UnBoxing → int..
Object 클래스_연습문제 1. String 객체 프로그램을 이용하여 equals 메소드와 연산자 ==의 차이를 비교 설명하시오. (필수) · s1과 s2는 서로 다른 인스턴스를 생성하고, s3은 s2의 인스턴스를 참조한다. 연산자 == 는 같은 인스턴스를 참조하는지 비교하며, equals 메소드는 부모클래스인 Object의 함수로써 단순히 문자열이 같은지 내용을 비교한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class String { private String str; String(String str){ this.str = str; } @Override public boolean equals(Object obj) { if(this.str == ((String)obj).str) return true; ..