끄적끄적 코딩
article thumbnail
[Java] 파싱, XML, SAX
Java 2023. 2. 1. 02:47

공공데이터란? 공공기관이 만들어내는 모든 공적인 정보 각 공공기관이 보유한 데이터를 개방하여 누구나 원하는 기능에 활용 가능 www.data.go.kr 등 회원 가입 후 개별 키를 발급 받아 사용 데이터의 형태 CSV comma separated value ‘,’로 구분되는데이터 용량이 작지만 구조적이지 못함 xml Extensible markup language 태그(element)를 이용하여 문서나 데이터의 구조를 명기하는 언어 구조적, 정확한 문법이 필요, 큰 용량 json javascript object notation 구조를 가지며 객체로 다른 언어와 호환 XML 기본문법 문서의 시작은 로 한다 반드시 root element가 존재해야 한다 나머지 태그들은 Tree형태로 구성 시작 태그와 종료 ..

[Java] String 메서드
Java 2023. 2. 1. 02:32

String이 가지고 있는 메서드 String s; s.equals(str); // 두 문자 비교 s.equalsIgnorecase(”YES”); // 대소문자 구분 없이 비교 s.substring(2, 3); //s 자르기 s.toCharArray(); // 문자열을 char 배열에 넣은 메서드 s.charAt(0); // 한 글자를 char 타입으로 변환 s[0] s.compareTo(”java”); // s랑 비교 s = s.concat(”algo”); // s 뒤에 붙인다 s.getBytes(); // s를 byte로 변환 s.indexOf(”s’); // s가 몇번째에 s.indexOf(”s”, 2); // s를 2번부터 찾는다 s.lastIndexOf(””); // s를 마지막 부터 앞으로 찾..

[Java] 람다(Ramda)
Java 2023. 2. 1. 02:28

람다 (Ramda) 람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어 함수를 보다 단순하게 표현하는 방법 특징 람다 대수는 이름을 가질 필요가 없음 - 익명 함수 (Anonymous functions) 두 개 이상의 입력이 있는 함수는 최종적으로 1개의 입력만 받는 람다 대수로 단순화 가능 - 커링 (Curring) 장점 1. 코드의 간결성 - 람다를 사용하면 불필요한 반복문의 삭제가 가능하며 복잡한 식을 단순하게 표현 가능 2. 지연연산 수행 - 람다는 지연연상을 수행 함으로써 불필요한 연산을 최소화 할 수 있음 3. 병렬처리 가능 - 멀티쓰레디를 활용하여 병렬처리를 사용 할 수 있음 단점 1. 람다식의 호출이 까다롭습니다 2. 람다 st..

[Java] I/O와 Stream
Java 2023. 2. 1. 02:14

I/O와 Stream 데이터의 입력(Input)과 출력(Output) 데이터는 한쪽에서 주고 한쪽에서 받는 구조로 되어있음 이때 입력과 출력의 끝단: 노드(Node) 두 노드를 연결하고 데이터를 전송할 수 있는 개념: 스트림(Stream) 스트림은 단방향으로만 통신이 가능하며 하나의 스트림으로 입력과 출력을 같이 처리할 수 없음 InputStream의 주요 메서드 read() public abstract int read() throws IOException - byte 하나를 읽어서 int로 반환. 더 이상 읽을 값이 없으면 -1을 리턴 (4byte=-1, 3byte=0, 1byte=-1) public int read(byte b[]) throws IOException - 데이터를 읽어서 b를 채우고 읽..

[Java] List, Set, Map, Sort
Java 2023. 2. 1. 01:43

자료구조 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미 자료구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미 배열 가장 기본적인 자료 구조 동일한 데이터 타입만 관리 가능 Collection Framework java.util 패키지 - 다수의 데이터를 쉽게 처리하는 방법 제공 -> DB 처럼 CRUD 기능 중요 collection framework 핵심 interface Iterable c) retainAll(Collection c) 수정 기타 toArray() List 순서가 있는 데이터의 집합 추가 add(int index, E element) addAll(int index, Collection

article thumbnail
[Java] try~catch, throws , 사용자 정의 예외
Java 2023. 1. 31. 01:43

에러와 예외 어떤 원인에 의해 오동작 하거나 비 정상적으로 종료되는 경우 삼각도에 따른 분류 - Error - 메모리 부족, stack overflow 같이 일단 발생하면 복구할 수 없는 상황 - 프로그램의 비 정상적 종료를 막을 수 없음 -> 디버깅 필요 - Exception - 읽으려는 파일이 없거나 네트워크 연결이 안 되는 등 수습될 수 있는 비교적 상태가 약한 것들 - 프로그램 코드에 의해 수습될 수 있는 상황 exception handling(예외 처리)란 - 예외 발생 시 프로그램의 비 정상 종료를 막고 정상적인 실행 상태를 유지 하는 것 - 예외의 감지 및 예외 발생 시 동작할 코드 작성 필요 예외 클래스의 계층 checked exception - 예외에 대한 대처 코드가 없으면 컴파일이 진..

[Java] 추상클래스, 인터페이스, Generic
Java 2023. 1. 31. 01:23

추상 클래스 정의 자식 클래스에서 반드시 재정의해서 사용되기 때문에 조상의 구현이 무의미한 메서드 메서드의 선언부만 남기고 구현부는 세미클론으로 대체 구현부가 없다는 의미로 abstract 키워드를 메서드 선언부에 추가 객체를 생성할 수 없는 클래스라는 의미로 클래스 선언부에 abstract를 추가 추상 클래스의 특징 abstract 클래스는 상속 전용의 클래스 - 클래스에 구현부가 없는 메서드가 있으므로 객체를 생성할 수 없음 - 하지만 상위 클래스 타입으로써 자식을 참조할 수는 있다. 조상클래스에서 상속받은 abstract 메서드를 재정의 하지 않은 경우 - 클래스 내부에 abstract 메서드가 있는 상황이므로 자식 클래스는 abstract 클래스로 선언되어야 함 추상 클래스를 사용하는 이유 abs..

[Java] 다형성, 정적 바인딩, 동적 바인딩
Java 2023. 1. 31. 01:11

다형성 polymorphism 하나의 객체가 많은 형(타입)을 가질 수 있는 성질 상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다. SpiderMan onlyOne = new SpiderMan("피터파커", false); SpiderMan sman = onlyOne; Person person = onlyOne; Object obj = onlyOne; * 객체는 모두 Object에 담을 수 있다 * 기본형은 각각의 클래스형태가 있다 Wrapper클래스라고 함 다형성의 활용 다른 타입의 객체를 다루는 배열 매개변수의 다형성 int a = 10; Integer aobj = a; // int ==> Integer : autoboxing int sum = a + aobj; /..

검색 태그