반응형 DEV61 [자바] Calendar Calendar Calendar는 추상 클래스이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스터스를 얻어야 한다. getInstance()는 시스템의 국가와 지역 설정을 확인해서 태국을 제외하고는 GregorianCalendar의 인스턴스를 반환한다. (태국의 경우 BuddhistCalendar 인스턴스 반환) GregorianCalendar는 Calendar를 상속받아 오늘날 전섹 공통으로 사용하고 있는 그레고리력에 맞게 구현한 것이다. 인스턴스를 직접 생성해서 사용하지 않고 메서드를 통해서 인스턴스를 반환받게 하는 이유는 최소한의 변경으로 프로그램이 동작할 수 있도록 하기 위해서이다. public class CalendarEx1 { public static voi.. 2023. 2. 2. [자바] 사용자 정의 예외 만들기 안드로이드와 연동되는 API를 만들어 준적이 있는데, 이 때 호출 URL 마다 고객사에서 정해준 에러 메세지와 에러 코드를 던져줘야 했다. 꼭 자바에서 제공되는 Exception 이 아닌 사용자정의 Exception을 던져줘야 할 때가 있다. 아래 소스는 간단히 만들어 본 샘플 사용자 정의 예외 만들기 소스이다. class CustomException { public static void main(String[] args) { try { join(); } catch (JoinException me) { me.printStackTrace(); System.out.println(me.getMessage()); System.out.println(me.getErrCode()); } } static void jo.. 2023. 2. 1. [자바] default method 와 static method JDK 1.8 이전에는 인터페이스에 추상 메서드만 사용할 수 있었다. 하지만, JDK 1.8 이후부터는 default 메서드와 static 메서드도 추가할 수 있게 되었다. 디폴트 메서드 인터페이스를 implements 하는 모든 클래스들은 모든 메서드를 구현해야 한다. 모든 메서드를 구현하는 것도 엄청 일이지만, 만약 인터페이스가 수정되거나 추가된다면 해당 인터페이스를 implements 하는 모든 클래스들도 수정되어야 한다. 이러한 문제점을 유연하게 해결하기 위해 default method 가 추가되었다. default 메소드의 가장 일반적인 사용 목적은 구현 클래스를 파괴하지 않은채로 점진적으로 추가적인 기능을 제공한다는 것에 있다. 즉, 기존의 추상 메소드에 기능을 덧붙이는 목적으로 사용할 수 있.. 2023. 2. 1. 리액트 훅이란? 참고: Do It! 리액트 네이티브 액 프로그래밍 리액트 훅 리액트 프레임워크는 컴포넌트라는 기법으로 가상 DOM 객체를 만들고나서 가상 DOM 객체에 어떤 변화가 감지되면 해당 변화만 화면에 재렌더링하여 전체 렌더링 속도를 빠르게 하는데 초점이 맞춰진 프레임워크이다. 리액트 프레임워크는 오랫동안 객체 지향 언어의 상속 개념에 맞춘 클래스 형태로 제작되었다. 그런데, 클래스 컴포넌트 기술을 코드를 작성하는 방법도 복잡하고, 1초당 60회 정도의 매우 빠른 재렌더링을 실행해야 할 때 화면에 정상적인 렌더링이 안 되는 버그를 내포하고 있다. 리액트 개발팀은 클래스 컴포넌트를 구현할 때의 복잡함을 덜고자 컴포넌트를 함수 형태로 만들 수 있게 하였고, 2019년 2월 16.8.0 버전을 내놓으면서 함수 컴포넌트.. 2023. 1. 29. [리액트네이티브 + expo]터치 할 때마다 이미지 바뀌게 하기 리액트 네이티브 + 엑스포 조합으로 앱을 하나 제작하려고 준비중이다. 생각보다 쉬운 앱인데 간단한 인강 하나 보고 무작정 만드려니 생각보다 쉽지 않다. 우선 기본은 play 버튼이 노출되고 play 버튼을 터치하면 pause 버튼으로 바뀌게 하려고 하는데 html + javascript 조합이었으면 10초면 끝날건데 리액트 네이티브로 하려고 하니 한시간 넘게 걸렸다. 😂 import React, {useState} from 'react'; import { StyleSheet, Text, View, TouchableOpacity , Image} from 'react-native' import startImg from '../assets/images/start.png' import pauseImg from .. 2023. 1. 28. javascript promise 사용법 참고: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise Promise - JavaScript | MDN Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타냅니다. developer.mozilla.org Promise 객체는 비동기 작업이 맞이할 미래의 완료 또는 실패와 그 결과 값을 나타낸다. 즉, 미래의 어떤 시점에 결과를 제공하겠다는 약속(프로미스)을 반환한다. Promise는 기존에 javascript에서 많이 볼 수 있었던 콜백 지옥을 극복하기 위해 ECMA Script 6 스펙에서부터 지원되는 객체이다. Promise 상태 - 대기(pending) : 이행.. 2023. 1. 13. javascript filter 사용법 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter Array.prototype.filter() - JavaScript | MDN filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. developer.mozilla.org filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다. const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; //words 배열을 각각 꺼내와서 word에 할당 => word length가 6.. 2023. 1. 11. javascript map 사용법 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map Array.prototype.map() - JavaScript | MDN map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환합니다. developer.mozilla.org map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다. const arr = [1, 2, 4, 8, 16]; const maps = arr.map(x => x * 2); console.log(maps); 기존 for문 const nameArr = ["원빈","박보검".. 2023. 1. 11. 화살표 함수(arrow function) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/Arrow_functions 화살표 함수 - JavaScript | MDN 화살표 함수 표현(arrow function expression)은 전통적인 함수표현(function)의 간편한 대안입니다. 하지만, 화살표 함수는 몇 가지 제한점이 있고 모든 상황에 사용할 수는 없습니다. developer.mozilla.org 화살표 함수 표현(arrow function expression)은 전통적인 함수표현(function)의 간편한 대안이다. 하지만, 화살표 함수는 몇 가지 제한점이 있고 모든 상황에서 사용할 수는 없다. - this나 super에 대한 바인딩이 없고, Meth.. 2023. 1. 11. 이전 1 2 3 4 5 6 7 다음 반응형