본문 바로가기
Studynote/Computer Science 12

10.14.Tue

by e.sunie 2018. 11. 5.

 

 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이 출력됨

 

 

'Studynote > Computer Science 12' 카테고리의 다른 글

14.11.10.mon  (0) 2018.11.05
chapter 11 Map  (0) 2018.11.05
6.추상클래스  (0) 2018.11.05
09-23-Tue 6장 다형성~.  (0) 2018.11.05
09-22-Mon  (0) 2018.11.05

댓글