본문 바로가기

프로그래밍/Java

(49)
19.12.30) Java - Static Map 목차 URLEncoder.encode의 역할 지도를 요청할 땐 byte를 읽기 때문에 InputStream이 필요핵심 기술말고 API와 소통하는 원리를 이해하자. URLEncoder.encode의 역할 서버에 요청할 url에 들어 가는 변수에 공백이 있으면 공백을 %20로 변환 시켜 주는 역할. 공백을 utf-8로 변환하지 않으면 공백을 끝으로 인식해 제대로 서버에 요청할 수 없다. 지도를 요청할 땐 byte를 읽기 때문에 InputStream이 필요 문자열을 읽을 때는 BufferedReader가 필요하지만, byte를 읽을 때는 InputStream이 필요하다. API로 부터 통로를 만들어 주는 것이다. 읽어 올 땐 int로 받는다.
19.12.29) Java - I.O(입력 & 출력) 목차 입력 & 출력이란? 핵심 나를 기준으로 입력은 데이터를 가져 오는 것, 출력은 데이터를 내보내는 것 입력 & 출력이란? 나를 기준으로 다른 곳에서 데이터를 가져오면 입력이고 다른 곳으로 데이터를 내보내면 출력이다. 입력과 출력이 오고 가는 통로를 stream이라 한다. 이때 도와주는 클래스는 inputStream, outputStream이다. 1byte씩 입력(읽고) 출력(쓴다). fileInputStream, fileOutputStream 파일을 읽고 쓰는 객체이다. fileInputStream은 read() 메서드가 있는데 기본은 1byte씩 읽는다. 하지만 매개변수로 byte[n]을 넣어주면 n byte만큼 파일을 읽는다. 파일 복사 파일 복사는 파일을 입력 받고, 출력하면 파일 복사가 된다...
19.12.29) Java - Geocoding(경도, 위도 추출) 목차 Geocoding이란 위도, 경도 추출하는 실습(Geocoding) 전체 코드핵심 Geocoding이란 주소를 입력하면 위도와 경도를 얻는 코딩을 말한다. Geocoding이란? Geocoding이란 주소를 입력하면 위도와 경도를 얻는 코딩을 말한다. 위도와 경도를 얻기 위해선 위도와 경도를 제공하는 웹사이트에 요청을 해야 한다. 요청 시에 필요한 정보가 요청하는 웹사이트 URL client ID : 웹사이트에서 나를 식별하는 ID client secret : Password 위도, 경도 추출하는 실습(Geocoding) API URL 가져오기 : 가이드 -> API참조서 -> AI.Naver -> Geocoding BufferedReader : String 정보를 읽어 온다. InputStream..
19.12.28) Java - org.json 목차 Json-java(org.json) 사용법 json 파일 읽어서 값 추출하는 실습핵심 org.json API를 사용하면 객체를 바로 만들어 사용할 수 있다. org.json(JSON-java) 사용법 json을 만드는 다른 API이다. Gson과 다른 점은 객체를 바로 만들어서 사용할 수 있다. JSONObject라는 객체가 json형태로 객체를 생성한다. // 1. student json 객체 만들기 JSONObject student = new JSONObject(); student.put("name", "son"); student.put("phone", "010-1111-1111"); student.put("address", "광주"); JSONObject student2 = new JSONOb..
19.12.28) Java - Json & Gson 목차 객체를 표현하는 3가지 방법 Gson API로 JSON 다루기 핵심 Json으로 데이터 정보를 편리하게 주고 받을 수 있다. 객체를 표현하는 3가지 방법 서로 다른 프로그램끼리 객체를 주고 받을 땐 문자열 형태로 주고 받는 것이 편하다. 왜냐하면 문자열은 각 언어 별 형태가 거의 비슷하기 때문이다. "" or '' 문자열 데이터를 주고 받는 형식은 크게 3가지가 있다. 1. 의미는 없고 구분은 되어 있는 경우 String textMember = "홍길동,광주,010-1111-1111#나길동,서울,010-3212-3213" 데이터 표현은 단순하지만, 의미가 명확하지 않다. 우리는 사람이기 때문에 저 데이터가 어떤 기준으로 나뉘어졌는지 알 수 있지만, 컴퓨터는 정확히 파악하기 어렵다. 또..
19.12.27)Java - Wrapper Class 목차 Wrapper Class(포장 클래스)란? Boxing & UnBoxing 핵심 자바는 자동으로 포장도 해주고 풀어 주기도 한다. Wrapper Class(포장 클래스)란? Wrapper Class는 기본 자료형을 객체 자료형으로 포장하는 클래스이다. 즉, 바꿔 준다는 의미이다. 왜 바꿔야 할까? 기본 자료형을 객체 자료형으로 만들면 상속, 다형성 등 객체를 유용하게 사용할 수 있다. 예시 int -> Integer float -> Float char -> Character boolean -> Boolean Boxing & UnBoxing 만약, Object[]에 int를 넣고 싶으면 어떻게 넣을 수 있을까? 원래는 못 넣는다. 자료형이 다르기 때문이다. 하지만 int를 Integer로 포장해서 객..
19.12.27) Java - ArrayList 목차 ArrayList핵심 제네릭으로 자료형을 정하면 downCasting 안해도 된다. ArrayList ArrayList는 Array의 단점을 보완한 API다. 길이의 제약이 없기 때문에 훨씬 편리하게 사용할 수 있다. ArrayList는 원래 Object[]로 이루어져 있다. 그래서 원소가 들어갈 때는 upCasting을 하고 꺼내서 사용할 때는 downCasting을 해야 한다. 하지만 : generic으로 자료형을 지정하면 Object[]에서 지정한 자료형으로 바뀐다. 그러면 원소를 꺼낼 때 downCasting할 필요가 없다. 만약 제네릭을 사용하지 않으면 코드에 경고창이 뜬다. public static void main(String[] args) { ArrayList arr = new Arr..
19.12.26) Java - ObjectList 만들기 목차 ObjectArray 실습 이미 ArrayList는 있다. 핵심 Object을 이용하면 upCasting, downCasting을 생각해라 ObjectArray 지난 시간에 만든 intArray는 int 자료형 데이터만 넣을 수 있다. 이러면 아쉬움이 남는다. 그럼 모든 자료형을 담을 수 있는 배열을 어떻게 만들 수 있을까? 모든 자료형을 upCasting으로 받을 수 있는 Object 배열로 만들면 어떨까? 또한, Object 객체로 배열을 만든다는 것은 데이터가 들어갈 때는 upCasting으로 나올 때는 downCasting으로 나온다는 의미다. 이걸 자유자재로 사용할 수 있어야 한다. 실습 public class ObjectArray { private int count; private Obj..