본문 바로가기

Douzon/java

(12)
17일차 어제 피곤해서 못씀 그리고 어제는 설계 실습해서 별로 없음 객체지향 프로젝트 폭포수 개발 모델 요구분석 요구분석 정의서 유스케이스 작성: 액터간 상호작용, 액터가 할 수 있는 행동(카테고리별로 나눈다), 해야할일을 나열, 프로젝트 범위를 알수있다 요구분석 명세서 객체 모델링: concept modeling : 개발 범위 확정, detail modeling : 명확한, 명사 추출→객체 후보 제거(속성, 행위, 중복, 모호, 범위X)객체 선정→정제된 객체→객체간 관계 찾기→Concept Domain → 속성과 행위 추가(Detail Domain)
16일차 멀티 스레드 스레드 : 프로그램의 실행 흐름 멀티스레드 : 병렬작업을 하고싶을때 프로세스 스레드 스레드: 프로그램 안에서 실행 흐름 프로세스 : 프로그램 실행단위 스레드를 구현해야하는 이유 기능 상 : CPU가 많으면 성능이 좋음 로직 상 : 실행되는 동시에 실행되어야하는 것듯 예) 카톡, 게임 등 스레드의 구조 제어권 →cpu new → thread 생성Runable(실행가능한 상태) → run 호출 가능 상태 →run은 cpu가 실행 start → 기동→ Runable, notRunable 실행가능한 상태까지만 우리가 실행은 cpu가 →start는 우리가 실행 notRunable(대기 상태): sleep, wait, join join thread.join() thread가 종료될때까지 대기한다 다른 ..
15일차 File Class mini Dos 만들다가 시간다감 파일복사에서 꼬임 File 파일 자체를 관리하는 클래스 new File(”폴더경로”,”파일경로”) listFiles() 안의 목록들을 파일객체로 가져온다 isThere isFile isDir 생성삭제 File : createNewFile() delete() 디렉토리 : mkdir() delete()
14일차 스트림 컬랙션 및 배열의 요소를 반복처리 스트림 vs Iterator 내부 반복자이므로 처리 속도가 빠르고 병렬 처리에 효율적 람다식으로 다양한 요소 처리를 정의 가능 중간처리와 최종 처리를 수행하도록 파이프 라인을 형성가능 리스트→ 스트림 Stream stream = 리스트객체.stream() 배열 →스트림 Stream stream = Arrays.stream(배열) 숫자범위로부터 스트림 얻기 → IntStream or LongStream의 range(), rangeClosed() range(): 끝수 포함X rangeClosed() : 끝수 포함 필터링 : fileter, distinct 요소 변환 : map** Stream을 List나 Map으로 변환 → collect 사용 List로 변환 toLi..
13일차 복습 제네릭의 필요성 : 사용하려는 객체와 타입이 맞지 않으면 런타임 시 예외 발생 arraylist, linked list set: 중복을 허용하지 않는다 Map key와 value로 이루어짐 get(key) value값 가져옴 엔트리(Entry) : 키와 값을 가진 순서 한 쌍 Map.Entry remove할때는 무조건 키값으로 삭제 구현클래스 HashMap 데이터의 순서를 보장하지 않는다 value는 객체의 주소값 저장 LinkedHashMap 순서를 보장 넣는 순서대로 순서 설정 TreeMap 순서를 보장 Comparable 인터페이스 구현 key 값을 기준으로 정렬해서 순서 설정 Map출쳑 Map-> Set -> Iterator (key, value) -> entrySet : Set 타입 리턴 ..
12일차 복습 char isDigit() char 값이 숫자인지 여부 판단 boolean 타입 리턴 parse 데이트 포맷형식이 맞으면 date타입으로 리턴 실패하면 예외 Date -> Calendar 형변환 : setTime() 정규 표현식 문자열을 세부적으로 관리하기 위해서 문법 . 의미의 한문자 * 바로앞 문자가 없거나 하나이상, 첫번째에 쓸 수 없다 + 반드시 하나 이상의 문자, 첫번째에 쓸 수 없다 ? 바로 앞에 문자가 없거나 하나임을 의미 ^ 문장의 처음 -> ^가 있는 단어로 문장 시작 $ 문장의 끝-> $가 있는 단어로 문장 끝 [] 괄호 안의 문자중 일치하는 것을 검색 [] 안에 ^ 특수문자 안에 있는 문자를 포함하지 않는 모든 문자열 not의 의미 {} 특수문자 앞의 문자 반복되는 횟수 의미 (..
11일 자바 api 클래스 java 기초 API Object, String Calendar, Math, Random, 정규표현식, Arrays, Wrapper Thread, NetWork(Json) Stream → 입출력 → InputStream, Reader/Writer, File 등 Collection(자료구조) ArrayList, hashMap, TreeSet, Iterator 등 Object 최상위 클래스 객체 복사 대입연산자로 복사 → 주소값 같다 clone → 주소값이 다르다 hashCode 객체의 메모리 번지를 이용해서 해시코드를 생성하기 때문에 객체마다 다른 정수값을 리턴한다 해쉬 함수 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수 예) heap에 저장된 String을 stack인 ..
10일차 하는거 까먹어서 주말에 씀 귀찮음 복습 오버라이딩 : 상속관계 사이에 있는 클래스 사이에는 자식클래스에서 슈퍼타입으로 형변환 간능 final 메소드 앞에 있으면 오버라이딩 불가 클래스 앞에 있으면 상속 불가 예) String 추상 클래스 추상 메소드가 있는 클래스 호출 목적 X → 자식 강요, 자식클래스가 무조건 오버라이딩하게 하기 위해 코드의 일관성과 코드의 독립성을 유지하기 위해서 사용 인스턴스화 금지된 클래스 → 객체 생성 불가 abstract 인터페이스 implements 구현 방법 익명인어클래스로 구현 람다로 구현 implements에서 구현 객체 생성 불가 삼촌같은 느낌 인터페이스 구현 , 추상클래스 상속 자바는 다중 상속을 허용하지 않는다 → 인터페이스 사용 전부다 추상메소드 → abstra..