본문 바로가기

Java/Java 이론 정리16

[Java] (쓰레드/)annotation #ANNOTATION 주석처럼 코드에 달아 의미를 부여하거나 기능을 주입할 수 있음. (추후에 다시 학습) 이클립스 화면 File>>new에서 annotation 생성 1 2 3 4 5 6 7 8 9 10 11 12 13 package com.sist.ann; //스프링에서 주로 사용 import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; @Retention(RUNTIME) @Target(METHOD) public @inte.. 2020. 7. 30.
[Java] 31~33일차: IO IO 1. 메모리 2. 파일 3. 네트워크 스트림 이용=>데이터 통로(정확한 전송) 단방향(입력/출력통로가 다르다) -1byte(일반파일):바이트 스트림 InputStream/OutputStream =>인터페이스 => read/write =>업로드/다운로드 -2byte(문자=>한글가능):문자 스트림 Reader/Writer => 인터페이스 -객체 자체를 저장: 직렬화 ObjectInputStream/ObjectOutputStream -속도를 빠르게 BufferInputStream/BufferOutputStream =>XML, JSON, CSV(별도로 파싱하는 방법이 따로 있음) :Web(Spring) ***주의점 1. 반드시 import java.io.* 2. 반드시 예외처리(CheckException).. 2020. 7. 27.
[Java] 30일차: java.util / collection framework #java.util Random nextInt() : 0~21억 4천(int 범위) netxtInt(int n) : 0~n-1 ***오버로딩 숫자 랜덤발생 instance → 메모리 할당 필요 (Random r=new Random(); r.nextInt(100); StringTokenizer 문자 분해 hasMoreTokens() :자를 개수(모르거나 많은 경우)만큼 루프 nextToken(): 한개씩 잘라줌 cf. split → 정규식 사용 Date, Calendar Date: 시스템 시간, 날짜 읽기 Date date=new Date(); → date.toString() Calendar: 요일 구하기, 달의 마지막 날짜 읽기 날짜등록시 월(0부터 시작), 요일(1부터 시작) 주의 StringToken.. 2020. 7. 24.
[Java] 28~29일차: java.lang Object finalize(): 소멸자 clone(): 복제 (Spring→prototype) ***call by reference / call by value toString(): 객체→문자열(=String형변환) 1)모든 데이터형을 커버 → 형변환 Object[] obj={new A( ), 10.5, 100, 'A', "Hello"}; 2)모든 클래스(사용자 정의)에 상속을 내림 String //instance method length(): 문자 개수 trim(): 앞뒤 공백제거 substring(): 문자 분해 indexOf(), lastIndexOf(): 문자의 위치 equals(): 대소문자 구분(아이디중복,로그인) equalsIgnorecase(): 구분X(검색어) contains(): 포함.. 2020. 7. 22.
[Java] 예외처리 예외 처리: 에러 발생시 어떻게 처리할 것인가? 정의: 사전에 예상되는 에러에 대비하는 코드를 작성하는 것 목적: 비정상 종료의 방지를 통한 정상 실행상태 유지→견고한 프로그램 에러 종류 1)수정 불가능한 에러(Error): 프로그래머가 소스상에서 수정할 수 없는 에러 (ex. 메모리 부족, 이클립스 에러) →처리 불가(재부팅, 주석 처리) 2)수정가능 에러(Exception): 가벼운 에러(ex. ID 중복체크, 파일 입출력(경로명), 서버(IP), 오라클(오라클 주소, SQL) 등) →예외처리 가능. 이제부터 말하는 예외처리상 에러는 2)를 의미함. 1)컴파일 에러: 컴파일시 에러(문법상의 에러) 2)실행시 에러: 실행시 발생(사용자 입력 오류) 3)논리적 에러: 실행은 되지만 동작이 다르게(프로그램.. 2020. 7. 20.
[Java] 21~22일차: 객체지향 3대요소_캡슐화, 상속, 다형성 객체지향 프로그래밍 : 유지보수를 용이하게 만드는 기법 → 단점: 실행속도 늦음(→ 보완: POJO(Spring)) ***객체지향 자체에 너무 얽매이지 말고 프로그램의 완성에 초점을 둘 것 ***객체지향 3대요소: 캡슐화, 상속, 다형성 1. 데이터 보호 - 값이 프로그램과 관련없이 변질, 변경될 수 있음 →캡슐화: 알고리즘+데이터, (클래스 단위로 묶어서)경계 구분 및 (데이터 보호를 위한)은닉화 ***은닉화: 데이터를 사용하지 못하게 만드는 작업 →감춘 데이터는 메소드를 통해 접근 가능(Getter/Setter 활용) ▶Getter(저장된 데이터 값 읽기), Setter(변수값 저장) 사용 1. lombok 라이브러리 사용 1) https://mvnrepository.com//artifact/org... 2020. 7. 13.