e.sunie 2018. 11. 5. 01:48

 

 6장 7장 9장 11장

필기시험

화요일 21일 5시30분 3층 종합강의실

단답 사지선다형

코드 작성 문제

에러찾기 출력 쓰기 등등

암기용문제 그닥 많지 않을듯

 

9장 java.lang패키지

 

 

1. Object클래스

 

 

1.2 equals메서드

 

객체 자신과 주어

진 객체를 비교 ~ 같으면 T 다르면 F

두가지 기능이 존재한다.

①  Object클래스에서 equals() : 참조변수 값(객체의 주소)를 비교한다. 

② 오버라이딩된 equals() : 맴버변수의 값을 비교한다. ~ 해당 클래스에서 eq uals에 대한 재정의가 꼭 필요하다.

강제형변환으로 obj 를 Person으로 변환한다(재정의)

 

 

  • Q1 . System.out.println(p1==p2) 의 출력값은 ?

false :: 주소값이 같지 않기에

  • Q2. System.out.println(p1.equals(p2)); 의 출력값은?

True :: Person클래스 안에 재정의된 equals를 호출한 형태이므로 8011801111222L로 동일

 

 

1.3 hashCode()

 

개략적인 시나리오

: 단국대학교 천안캠퍼스의 학생 만여명, 이름 저장을 함-> '홍길동'이란 이름을 찾으려고 한다.

how? 1번부터 만번까지 찾는다(최악의 경우 만번의 비교 발생)

-> hasing이란 방법을 이용하여 단번에 찾자

 

원리

홍길동이란 이름을 수치화하여 표현한다. (수치계산과정 ) -> 그 결과값에 홍길동이란 이름을 저장한다.

홍 길 동의 숫자를 합산하여 만으로 나눈 결과값에 홍길동이란 이름 저장

=> 홍길동이란 이름의 해쉬코드값을 검색한다.

 

문제점

홍길동이란 이름을 바꾼다는 경우 동길홍 의 경우도 해쉬코드값이 동일하게 나온다. (충돌발생)

-> 연결리스트를 이용하여 홍길동 이름 옆에 동길홍 저장(해결)

- sorting시 홍길동 - 동길홍 2번 검색 소요

 

1.4 toString()

 

주소값(해쉬코드값으로 변환된) 을 반환한다.

 

 

1.5 clone()

 

skip

 

2.1 Strign클래스의 특성(100%)

 

 



① ture (100번지 == 100번지)

상수는 상수테이블이 존재

상수 입력시 상수테이블에 등록이 된다. (중복등록 불가)

str1의 " abc"가 100번지의 상수테이블에 등록

str2가 "abc"입력시 이미 등록되어있는 100번지를 가르킨다.

② false (200번지 != 300번지)

③ ture ( String에서 정의된 equals : 글자비교(내용비교) -> abc로 true )

④ true (  위와 동일 )

 

2.2 빈문자열("")

 

"abc"+"d = "abcd"

"abc"+27="abc27"

how가능? Java에서 Stirng 클래스에 +연산에 대한 중복 정의를 해둠

-> 숫자 27을 문자 "27"로 변경하고 싶다면 : 27+""

 

2.3 String클래스의 생성자와 메서드

 


 

 

2.4 문자열과 기본형간의 변환

 

int-> string : String.valueOf(27)

string->int : Integer.parseInt("27")

 

 

 

 

3.1 String Buffer클래스의 특징

 

 

4.1 Math 클래스


 

4.2 Wrapper클래스

 

 

 

각 클래스 내부에 기본형 변수가 선안되어있다.

각 클래스 내부에 equals()가 오버라이딩되어있다.(내용비교가능)

 

 

 

11장

 

 

컬렉션프레임윅

컬렉션: 일반적으로 자주사용하는 자료구조 모음

프레임윅

컬렉션 클래스 : 다수 데이터를 저장할 수 있는 클래스

 

 

 

인터페이스의 상위관계는 없다(collect & map의 경우)

List & set : 순서여부의 차이, 중복허용의 차이

Map(지도, 연결시키다) : 항상 쌍으로 존재해야한다 (키와 값(키에 대응되는 결과))

ex) 이름 - 전화번호 의 관계(map관계)

 

1.3 컬렉션 프레임윅의 동기화

멀티쓰레드 ㅍ로그래밍에서 강제적으로 동기화 요구

-> 버전업되어 필요없어졌음

 

1.4 Vector와 ArrayList

 

 

실질적으로 Vector와 ArrayList는 같은 개념이다

  • ArrayList는 배열의 형태로 값들의 연결이 되어있다.
  • LinkedLIst 추가/삭제 용이

<Vector클래스의 주요 메서드>

 

 

이 코드의 경우 자료형에 대한 명시가 구체적이지 않기에 경고 발생

 

해결 ArrayList<Stirng>으로 자료형 명시

 

 

확장형태

 

list 출력시 출력형태는  ArrayList클래스의 toString()의 설정으로 인해 form이 출력됨