✏️ 컬렉션컬렉션(Collection)은 안드로이드를 비롯한 자바 프로그램을 작성하는데 뺴놓을 수 없는 중요한 도구이다. 자바의 JDK는 소위 자료 구조 과목에서 배운 많은 자료 구조들을 컬렉션으로 만들어 제공하고 컬렉션은 제네릭이라는 기법으로 구현되어 있기 때문에 제네릭에 대한 공부도 필요하다. 컬렉션은 배열이 가진 고정 크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색할 수 있는 가변 크기의 컨테이너(container)이다.컬렉션은 제네렉(generics)이라는 기법으로 만들어져 있다. 컬렉션 클래스의 이름에는 , , 등이 항상 포함된다. 이들은 타입 매개 변수라고 하는데, 특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록, 컬렉션을 일반화시키기 위해 >를 사용한다. 따라..
✏️ Object 클래스Object는 java.lang 패키지에 속한 클래스이며, 모든 클래스에 강제로 상속된다. Object 만이 아무 클래스도 상속받지 않는 유일한 클래스로 계층 구조 상 최상위 클래스이다. Object의 주요 메소드는 아래 표와 같다.메소드설명boolean equals(Object obj)obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true를 리턴Class getClass()현 객체의 런타임 클래스를 리턴int hashCode()현 객체에 대한 해시 코드값 리턴string toString()현 객체에 대한 문자열 표현 리턴void notify()현 객체에 대해 대기하고 있는 하나의 스레드를 깨운다.void notifyAll()현 객체에 대해 대기하고 있는 모든 스레드를 깨운..
✏️ 모듈과 패키지자바에서 패키지(package)란 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스(.class) 파일들을 한 곳에 묶어 놓은 것을 말한다. 패키지는 디렉터리와 연관되게 되는데, 하나의 패키지는 관련된 클래스 파일들이 들어 있는 디렉터리로 볼 수 있다. 자바 JDK는 개발자들에게 많은 클래스들을 패키지 형태로 제공하는데, JDK9 부터는 패키지들을 모듈(module)이라는 단위로 묶어, 100개에 가까운 모듈을 제공한다. 모듈은 JDK 설치 디렉터리 밑의 jmods 디렉터리에 .jmod 확장자를 가진 압축 파일 형태로 제공된다. ✏️ import문패키지를 어떻게 사용하는지 의문점이 생길 수 있다. 이때 import 문을 사용하여 패키지를 호출하거나 패키지에 있는 클래스를 호출할 수 ..
✏️ 업캐스팅자바에서 서브 클래스는 슈퍼 클래스의 속성을 상속받기 때문에, 서브 클래스의 객체는 슈퍼 클래스의 멤버를 모두 가진다. 그러므로 서브 클래스의 객체를 슈퍼 클래스의 객체로 취급할 수 있다. 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것을 업캐스팅(upcasting)이라고 하며, 업캐스팅은 슈퍼 클래스의 래퍼런스로 서브 클래스의 객체를 가리키게 한다. 예시를 통해서 알아보자.Student 클래스는 Person 클래스를 상속받았고 p=s를 통해 업캐스팅을 하였다. 이렇게 되면 Person 타입의 객체 p는 Student 객체를 가리키게 된다. 그러나 레퍼런스 p로는 Person 클래스의 멤버만 접근할 수 없다. p는 Person타입이기 때문이고 grade와 depart는..
- Total
- Today
- Yesterday
- 이분 매칭
- java
- 스택
- 유니온 파인드
- html
- c++ string
- HTML5
- BFS
- 백준 풀이
- 스프링 부트 crud 게시판 구현
- 유클리드 호제법
- 자바스크립트
- 반복문
- 자바
- 알고리즘
- 투 포인터
- 우선순위 큐
- 카운팅 정렬
- C++
- 백준
- 세그먼트 트리
- C++ Stack
- DP
- js
- 에라토스테네스의 체
- Do it!
- CSS
- DFS
- 자료구조
- 알고리즘 공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |