본문 바로가기

분류 전체보기95

달력 검색 import java.util.Calendar; import java.util.Scanner; class CalendarMain2 { private int year; private int month; private int startW=0; private int lastD=0; public CalendarMain2(int year , int month){ this.year = year; this.month = month; } public void calc(){ //입력받은 년도,달의 시작날,끝날을 계산 Calendar cal = Calendar.getInstance(); cal.set(year, month-1 , 1); //년,월,일 세팅 startW=cal.get(Calendar.DAY_OF_WEEK);.. 2019. 12. 14.
Stream 지금까지 우리는 많은 수의 데이터르 다룰 때 , 컬렉션이나 배열에 데이터를 담고 원하는 결과흫 얻기 위해 for문과 iterator 를 이용해서 코드를 작성 해왔다. 그러나 이러한 방식으로 작성된 코드는 너무 길고 알아보기 어렵다. 또한 재사용성도 떨어진다. 또 다른 문제는 데이터 소스마다 다른 방식으로 다워야한다는 것이다. collection이나 Iterator와 같은 인터페이스를 이용해서 컬렉션 을 다루는 방식을 표준화 하기는 했지만 , 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있다. 예를 들어 List를 정렬할 때는 Collections.sort()를 사용해야 하고, 배열을 정렬할 때 는 Arrays.sort()를 사용해야 한다. 이러한 문제점들을 해결하기 위헤ㅐ서 만든것이 스.. 2019. 12. 14.
Wrapper Class - AutoBoxing Wrapper 클래스는 포장이다! 제네릭, 매개변수 등등 기본타입이 아닌 객체타입을 필요로 하는 경우가 java에서 종종 발생한다. 그래서 기본타입을 객체타입으로 변경해줘야 해야하는데 그런경우에 랩퍼클래스를 이용해서 객체로 만들어주는 것이다. ​ ​ 예를 한번 살펴보자! ArrayList list = new ArrayList(); list.add(new Integer(10)); list.add(new Integer(20)); list.add(new Integer(30)); Integer i =(Integer)list.get(0); int value = i.intValue(); 이러한 방법으로 ArrayList에 객체를 넣어 값을 저장시킬때 사용한다!! ​ 다시 기본형으로 사용을 하기 위해서는 박싱했던걸 .. 2019. 12. 13.
Anonymous class 일단 익명클래스를 사용하는 이유는 코드의 절약을 위해서 사용한다! 구현을 위해서 클래스 하나를 만드는건 나중에 유지보수에 시간이 드는걸 의미하고 시간은 돈을 의미한다. ​ 이러한 일회용성 코드를 사용하기 위해서 익명 구현 객체가 나왔따. ​ ​ 코드를 예로 설명하겠다! ​ class Task impliment Runable() { //구현클래스 @Override public void run(){ ..... } } Runable task = new Task(); Thread thread = new Thread(task); //이런식으로 클래스를 만들지 않아도 익명구현객체로 구현가능하다 Thread thread = new Thread(new Runable(){ public void run(){ ......... 2019. 12. 13.