본문 바로가기

Programming42

9장. 자바의 이벤트 처리 1. 이벤트 용어 정리 이벤트 소스 : 이벤트를 발생시킨 GUI 컴포넌트 이벤트 객체 : 발생한 이벤트에 대한 여러 정보를 제공하는 객체(이벤트 종류, 이벤트 소스, 화면 좌표, 마우스 버튼 종류, 눌러진 키 등). 이벤트에 따라 서로 다른 정보를 저장한다. 이벤트 리스너 : 사용자가 작성하며, 이벤트를 처리하는 자바 코드. 클래스로 작성한다. 이벤트 분배 스레드 : 무한 루프를 돌면서, 이벤트가 발생하면 이벤트 리스너를 찾아 호출하는 스레드. 2. 이벤트 객체 모든 이벤트 객체는 java.utill.EventObject 클래스를 상속받는다. 이벤트 객체는 이벤트에 대한 정보를 얻을 수 있는 메소드를 제공한다. 모든 이벤트 객체에 공통적으로 있고 가장 많이 사용되는 메소드 getSource() : 어떤 .. 2020. 6. 17.
7장. 컬렉션과 제네릭 #4 제네릭 만들어보기 제네릭 만들기 1. 제네릭을 직접 만들 수 있고 요소타입을 가변적으로 놔둘 수 있다. ex) MyClass, GStack 2. 쓰일 타입매개변수는 나중에 구체화할 수 있다. ex) public class MyClass { T val; void set(T a) { val = a; } T get() { return val; } } MyClass s = new MyClass(); // 제네릭 타입 T에 String 지정 s.set("hello"); System.out.println(s.get()); // "hello" 출력 cf) 타입 매개변수로 나타내는 객체 생성(x) ex) T a = new T(); 3. 제네릭 클래스 또는 제네릭 인터페이스의 배열은 불가능하다. ex) GStack[] gs = new G.. 2020. 6. 17.
7장. 컬렉션과 제네릭 #3 HashMap 컬렉션, LinkedList 컬렉션 HashMap컬렉션 1. HashMap : 키와 값의 쌍으로 구성되는 객체들을 요소로 같는 컬렉션 import java.util.HashMap K := 키 요소, 위치결정, 위치검색 시 사용 V := 값 요소 한 쌍이 한 요소임 삽입(put) 검색(get) Set := key 문자열을 가진 집합 Set 컬렉션을 리턴한다. 이걸 iterator로 순차검색을 한다. ex) Set keys = javaScore.keySet(); Iterator it = keys.iterator(); ex) HashMap h = new HashMap(); h.put("baby", "아기") h.put("love", "사랑") h.get("love") h.remove("baby") h.size(); //컬렉션 사이 2. Link.. 2020. 6. 16.
7장. 컬렉션과 제네릭 #2 ArrayList 컬렉션, Iterator 인터페이스 다양한 제네릭 1. ArrayList (배열 컬렉션) import java.util.ArrayList 가변 크기 배열 컬렉션 삽입(add), 검색(get), 삭제(remove)가 자유롭다. (기본 메소드) 삽입요소 객체, null 기본타입은 Wrapper 객체로 만들어 삽입 ->이제 JVM이 알아서 기본타입들 박싱해줌. 벡터와 달리 스레드 동기화 불가능 ex) ArrayList a = new ArrayList(7); a.add("Hello") a.add("안녕") a.add(2,"삽입") a.get(1) a.remove(1) a.size(); //요소 개수 a.capacticy 안됨. 2. Iterator : Vector, ArrayList, LinkedList 제네릭이 상속받는 인터페이스. 컬렉션이 아.. 2020. 6. 16.
7장. 컬렉션과 제네릭 #1 개요, Vector 컬렉션 컬렉션 1. 컬렉션이란? 객체들을 요소로 하는 저장소 요소 개수에 따라 크기 자동 조절 ( 객체 배열과 차이점 ) 요소의 삽입, 삭제에 따른 위치 자동 이동(가변 크기의 컨테이너) 객체만 요소가 된다. 잠시상기) 기본 타입배열은 객체로 관리한다. 그럼 기본타입의 배열도 컬렉션 요소로 가능한가? 2. 제네릭(generics)기법 : 특정 타입이 아닌 여러 종류의 타입으로 쓸 수 있게 '클래스나 메소드'를 다루는 기법 기본 타입 불가 cf) 자동박싱을 해주긴 하지만 Wrapper 클래스를 애초부터 써주자 형식 : 제네릭 ex) Stack : 정수만 다루는 스택 //제네릭을 추후 직접 만들 수도 있다. ex) Stack : 문자열만 다루는 스택 타입 : E Element, T Type, V Value, K k.. 2020. 6. 15.
6장. 패키지와 활용 #2 주요 클래스 1. Object 클래스 java.lang.Object, 모든 클래스가 상속받는다. Object 클래스는 유일하게 아무 클래스도 상속받지 않는 최상위 클래스 주요메소드 hashCode(), toString() : 객체의 해시 코드 값, 객체를 나타내는 문자열 정보 제공 cf) 해시 코드 값은 객체가 생성될 때 할당받는 고유한 정수값 getClass() : 객체의 클래스 정보를 담은 Class 객체를 리턴, Class 객체의 getName()을 호출하면 객체의 클래스 명을 알 수 있다. Object에는 객체를 문자열로 변환하는 toString()이 있으며, 각 클래스는 toString()을 오버라이딩(메소드 재정의)하여 자신만의 문자열을 리턴할 수 있다. 2. equals() 메소드 ==는 두 객체의 레퍼.. 2020. 6. 15.