java

자바 컬렉션 프레임워크(Java Collection Framework) 중 리스트(List) 정리
오늘은 자바 Collection Framework 에 대해서 정리해보려고 한다. 이것 외에도 정리할 것이 산더미 같은데 일단 우선순위가 높은 것부터 시간 날 때마다 적어두어야지... Collection Framework 전체를 살펴보면 위 그림과 같다. 그림에 있는 것들 중 빨간 색으로 칠한 List를 먼저 알아보자. 컬렉션 프레임워크란 ? 자바에서 데이터를 저장하고 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것 즉, 사용자들이 이용하기 쉽게 정리해놓은 라이브러리라고 할 수 있다. 컬렉션 프레임워크의 인터페이스 간의 상속관계는 최상단의 그림과 같다고 볼 수 있다. 그중 가장 큰 줄기인 Collection에 속해있는 List, Set 그리고 Map이 무엇인지 어떤 것들이 있는지 알아보자. Coll..

안드로이드 헤드업 알림 구현하기
오늘은 안드로이드 스튜디오를 이용해서 안드로이드 헤드업 알림을 구현하는 방법에 대해 알아보고자 한다. 여기서 말하는 헤드업 알림이란 아래와 같이 상단에 간단한 정보와 함께 표현되는 알림을 의미한다. 구현은 아래 공식문서를 보며 참고하였다. 알림 개요 | Android 개발자 | Android Developers 알림 개요 알림은 사용자에게 미리 알림을 주고 다른 사람과의 소통을 가능하게 하며 앱에서 보내는 기타 정보를 적시에 제공하기 위해 Android가 앱의 UI 외부에 표시하는 메시지입니다. 사용자 developer.android.com 1. 프로젝트 생성 프로젝트는 Empty Activity로 기본 설정으로 생성하였다. 2. activity_main 수정 버튼을 클릭하면 알림이 울릴 수 있게 act..
![[JPA] JPA로 복합키로 구성된 테이블 생성 및 삭제하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ9ohi%2FbtrrosK2nO4%2FGJu214hzyKCgjDyXwhltxK%2Fimg.png)
[JPA] JPA로 복합키로 구성된 테이블 생성 및 삭제하기
현재 진행 중인 프로젝트에서 회원 고유번호와 팬미팅 고유 번호 두 개만을 외래 키로 받아서 구성된 테이블이 하나 있는데 해당 테이블을 만들면서 오류 폭탄을 받으면서 배운 정보를 기록해두려고 한다. 구성하려는 테이블 사용한 방법 (@IdClass) 1. 식별자 클래스 생성 신청자 테이블의 복합 키를 담고 있는 식별자 클래스 ApplicantID 를 먼저 생성한다. 식별자 클래스는 생성 시에 조건이 몇 개 있다. 식별자 클래스를 생성할 때 Entity클래스와 동일한 변수명으로 생성해야 한다. 기본 생성자가 있어야 한다. 접근 지정자는 public 이어야 한다. Serializable 상속받아야 한다. equals, hashCode 를 구현 위 조건에 맞게 아래와 같이 구성하였다. // ApplicantID...
![[JAVA] 객체 지향 프로그래밍(Object Oriented Programing)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXbKrh%2FbtrqptX21iF%2FK817vtsquGP6LM53LQVMJk%2Fimg.png)
[JAVA] 객체 지향 프로그래밍(Object Oriented Programing)
생각해보니 자바의 장단점 이후에 객체 지향 프로그래밍에 대해 한 번 정리하려고 했었는데, 당장 궁금한 것들이 너무 많아서 우선순위에서 밀려있었었다. 그래서 생각난 김에 간단하게 정리를 해보려고 한다. JAVA is A P. I. E 수업 때 위와 같이 외우면 잘 외워진다고 해서 메모해둔 '자바는 파이이다 !' 이다. APIE가 객체지향 프로그래밍의 대표적인 개념들이다. Abstraction (추상화) 객체들의 공통된 특성을 파악하여 정의해두는 것 예를 들어 자동차의 경우 기본적으로 움직이고 멈추는 것은 공통적인 특성이라고 할 수 있다. 하지만 세부적으로는 어떤 방식으로 움직이는지 멈추는지는 각 회사의 차량마다 다를 것이다. 그래서 공통된 특성을 일단 추상화해서 정의해두는 것을 의미한다고 생각하면 된다. ..
[JAVA] 백준 17141 : 연구소 2
문제 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net 해결방법 오랜만에 BFS 탐색 문제이다. 이 문제의 경우 연구소에 특정 위치에 바이러스를 놓아서 연구소 전체를 바이러스에 감염시키려는 승원이의 계획을 도와주는 문제이다. 문제에서 맵에 2로 표시된 구역이 바이러스를 놓을 수 있는 공간인데, 그 공간 중 M만큼 바이러스를 놓았을 때 연구소 전체를 감염시킬 수 있는 가장 빠른 시간을 구해야 한다. 즉, 모든 경우의 수를 탐색해야 하는 완전 탐색 문제라고도 할 수 있다. 조합을 찾을 때는 비트 마스킹을 사용해서 방문 처리를..