
1. 아래의 출력이 나오도록 만드시오. public class HashPerson { public static void main(String[] args) { HashSet hSet = new HashSet(); hSet.add(new Person("LEE", 10)); hSet.add(new Person("LEE", 10)); hSet.add(new Person("PARK", 35)); hSet.add(new Person("PARK", 35)); System.out.println("저장된 데이터 수: " + hSet.size()); //System.out.println(hSet); } } /* 저장된 데이터 수: 2 [LEE(10세), PARK(35세)] */ 방법1. a.k.a왠지 있어보이는 코드 1..

1. ArrayList 와 LinkedList 의 장단점은? ArrayList 장점: 배열기반이라 참조(=검색=searching)가 빠르다. 그리고 무작위 접근도 가능하다. ArrayList 단점: 저장, 삭제, 추가를 하려면 저장 공간을 복사를 하든 뭘 하든 늘려야 해서 느림 LinkedList 장점: 저장공간 늘릴 필요없이 그 다음에 있는 주소공간만 바꿔주면 되어서 저장, 삭제, 추가가 빠름 LinkedList 단점: 검색이 느림. 왜냐 앞에서든 뒤에서든 순차적 접근을 하기 때문이다. 2. 로또 프로그램을 작성하시오.(Set 으로) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.HashSet; import java.util.Set; pu..

1. 블록 태그와 인라인 태그에 대하여 설명하시오. 2. 블록 태그와 인라인 태그의 종류를 나열 하시오. 3. 선택자 # 과 . 에 대하여 설명하시오. 4. 아래를 프로그래밍 하시오. - 원객체 생성 - ArrayList 에 차례대로 반지름이 1인 원 부터 10인원을 입력. - 차례대로 각각의 원 넓이 출력 - 10개의 원넓이 합산 하여 출력. 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 36 37 38 39 40 41 42 43 44 import java.util.ArrayList; class Circle { private double r; public Circle(double..
1. Generic 메소드에 대하여 설명하시오. >> 함수 안에도 미리 데이터 타입을 정하기 때문에 형변환 안해도 된다. 함수 앞에 t 붙은거 파라미터부터 함수에 있는 T를 지정하기 위한 t 2.Generic(제네릭) 클래스의 타입 인자 제한하는 방법과 효과는? ㅑㅑ호ㅗㄹ호 3.와일드 카드란? 호ㅗㄹ홇 4. 아래가 에러나는 이유를 설명하시오. class Box { private T ob; public void set(T o) { ob = o; } public get() { return ob; } } ... public static void inBox(Box

1.Generic 이전의 코드의 문제 상황들을 예시로 설명하시오. class A class B class C 클래스 세 개가 있고 클래스 C가 클래스 A와 B 모두를 담고 싶어 한다면 AB의 공통된 조상인 Object를 private Object 이런 식으로 넣고 set을 해야 한다. 모든 객체형을 받으려면 polymorphism을 적용할 수 밖에 없기 떄문이다. 따라서 다형성을 사용하게 되면 println(Object obj)이런 방법으로 진행할 수 밖에 없다. 형변환을 해야하고 에러가 나도 잡히지가 않는 문제가 생겼다. 이를 해결하기 위해 나온게 Generic이다. 2. 아래의 결과가 나오도록 프로그래밍 하시오. class DDBoxDemo { public static void main(String[..

1. 아래의 결과 값은 false 출력이 된다. true 가 되도록 INum을짜시오. INum[] ar1 = new INum[3]; INum[] ar2 = new INum[3]; ar1[0] = new INum(1); ar2[0] = new INum(1); ar1[1] = new INum(2); ar2[1] = new INum(2); ar1[2] = new INum(3); ar2[2] = new INum(3); System.out.println(Arrays.equals(ar1, ar2)); 상단 결과 값이 false라고 뜨는 이유는 ar1과 ar2의 형태가 동일해도 new를 사용하여 메모리에 올라가면 주소값이 달라지기 때문이다. 따라서 두 객체가 동일하다는 true 를 출력받기 위해서는 equals 함수..

1.Wrapper class란? 레퍼 클래스란 기본 데이터 타입 8 종류를 감싸고 있는 클래스를 의미한다. 보통 println( )에 객체를 println(3); 이런식으로 직접 입력하면 두 가지 중 하나로 출력이 된다. (1)오버라이딩이 되어 있지 않으면 주소값이 나오고, (2)오버라이딩이 되었을 시 toString을 호출하여 3이라는 값이 출력되는 것이다. 즉 println()함수에 값을 바로 집어 넣어서 해당 값을 온전히 받고 싶다면 상속을 해야 얻을 수 잇다. 그런데 프로그래밍을 하다보면 기본 데이터 타입(primitive type)을 객체로 표현해야 하는 경우가 있는데 이럴 때 사용하는 것이 Wrapping class다. 그런데 Wrapping이 된다면 포장이 된 것이라 기본 타입 값을 외부에서..

1. Object클래스의 11개 함수를 나열해 보시오. Object 클래스란? 모든 클래스의 최상위 클래스이자 부모 클래스이다. 함수명 메소드 용도 equals( ) ★ public boolean equals(Object obj) { } 객체동등비교 (주소값비교) hashCode( ) ★ public int hashCode( ) 객체 해시코드 값 리턴 toString( ) ★ public String to String( ) { } 객체 문자열 정보 clone( ) Shallow Deep 객체복사 (얕은복사, 깊은복사) finalize( ) protected void finalize( ) throws Throwable { } 객체 소멸, jvm이 호출 getClass( ) Class getClass( ) ..

1. 에러(Error)와 예외(Exception)의 차이는? 에러는 시스템 문제라 예측하기 어렵고 그렇기에 대응하기도 힘들다. 메모리 부족, 벌츄얼 머신 에러와 같은 문제가 발생하면 프로그램은...사망 ~ 아무리 대단한 프로그래머가 만든 훌륭한 어플리케이션이라도 OS 입장에서는 단순 어플리케이션일 뿐이라 에러사항이 뜨면 jvm이 즉사시켜버린다. ㅋㅋ 그래도 jvm이 그냥 죽이지는 않고 예외객체를 보여주고 장렬히 전사시킴. ??: 에휴 바보 개발자를 위해 내가 대신 만들어줘야지 .. 예외는 프로그래머가 해결할 수 있는 문제의 발생이다. 프로그래머의 실수로 발생하기도 하고 컴퓨터 프로그램(?)의상태에 따라 발생하기도 한다. 미리 문제가 발생하지 않도록 대비가 가능하다. 2. unchecked 와 checke..