본문 바로가기

Java/JAVA 문법24

자바 기초 배우기 31,32일차 [ Thread 쓰레드 기본개념, Synchronized (동기화작업), wait / Notify ] Thread - 스레드란 ​ - 스레드 사용법, 카운트 다운 예제 ​ - 다중 Thread의 공유자원 접근 시 동기화 Synchronized ​ - 다중 Thread의 wait( ) / Notify( ) ​ ​ 프로세스란? 주어진 목적에 따라 어떠한 일이 처리되거나 진행되는 과정 ​ ​ ​ 스레드란? 하나의 프로세스 가 실행 중일 때 프로세스를 이루는 단위 실행 요소 ​ ​ ​ ​ 다중 스레드? 동시에 복수의 스레드가 동작하는 것 두 개의 스레드가 동시 작동될 때 순차적으로 처리한다면 동기화 처리이며 동시 스레드가 병렬해서 동작한다면 비동기 처리라 한다. ​ ​ ​ Thread 구현 사용방법 및 카운트 다운 예제 1) extends Thread ( Thread의 상속 생성 ) ​ ​ 1. 스레드 클래스를.. 2020. 1. 5.
자바 기초 배우기 30일차 [ 컬렉션 - ArrayList Iterator, HashMap ] 1. ArrayList ​ 2. Iterator ​ 3.HashMap ​ ​ ​ 1.ArrayList ​ 1) ArrayList? Vector와 같이 가변크기의 배열을 구현하기 위해 만든 클래스 ​ ​ 2) Vector 와의 차이?? https://lchit.tistory.com/45 자바 기초 배우기 29일차 [ 제네릭, 컬렉션 - Vector ] 1. 제네릭 ​ 2. 컬렉션 -Vector ​ ​ ​ ​ ​ 1. 제네릭 ​ [ 제네릭이란? ] 클래스 구현 시 클래스명 뒤에 , , 등 이 포함한 기법 클래스 객체 생성 시 여러 자료형이 올 수 있도록 구현.. lchit.tistory.com 자바 기초 배우기 29일 차 [ 제네릭, 컬렉션 - Vector ] ​ Vector와의 차이점 얘기 전.. 2020. 1. 5.
자바 기초 배우기 29일차 [ 제네릭, 컬렉션 - Vector ] 1. 제네릭 ​ 2. 컬렉션 -Vector ​ ​ ​ ​ ​ 1. 제네릭 ​ [ 제네릭이란? ] 클래스 구현 시 클래스명 뒤에 , , 등 이 포함한 기법 클래스 객체 생성 시 여러 자료형이 올 수 있도록 구현할 수 있다. 예제를 통하여 보는 게 더 이해가 빠르다.(후 예제 참조) ​ ​ [ 제네릭 클래스 구현법 ] ​ class 클래스명 { } *일반적으로 널리 사용되는 제네릭 타입 ​ E- Element(요소)- 컬렉션 라이브러리에서 많이 사용 K- Key N- Number T- Type V- Value S, U- 2번째, 3번째 타입을 지정 ​ Ex) class ClassA { } ​ ​ ​ ​ ​ [ 제네릭 클래스 사용 시 ] ​ ​ 클래스명 객체 변수명 = new 생성자(); ​ Wr.. 2020. 1. 5.
자바 기초 배우기 28일차 [ 예외처리, TryCatch문 ] [ 예외란? ] 자바에서 오동작이나 결과에 나쁜 영향을 줄 수 있는 실행을 할 때 발생하는 오류 ​ 문법에 맞지 않는 코드는 이클립스가 먼저 잡아준다. 사용자가 잘 못 입력했거나, 배열의 범위를 초과했거나 이런 오류같은 경우에는 실행 전에 미리 잡아줘야 할 필요가있다 [ 예외발생 사례 ] ​ 1) zeroDivision > ArithmeticException ​ 2) 배열크기 초과시 > ArrayIndexOutOfBoundsException ​ 3) 잘못입력했을시 > InputMismatchException . . . 등등등 여러 오류가 있다 ​ 이중 inputMismatchException 즉, 입력의 타입이 잘못되었을 경우로 try - catch 문을 살펴 보겠다 ​ ​ ​ [ 예외를 처리하는 방법 .. 2020. 1. 5.
자바 기초 배우기 27일차 [ Math클래스, Calendar클래스 ] 1.Math클래스 - java.lang 패키지 내에 속해있어 자동 import이다 ​ - 모든 메서드가 static 메서드이다 ​ ​ MathEx.java ​ - Math.abs(정수 혹은 실수) : 절댓값 반환 ​ - Math.ceil(실수) : 올림 ​ - Math.floor(실수) : 내림 ​ - Math.round(실수) : 반 올림 ​ - Math.max(a, b) : a와 b 중에 큰 수 반환 ​ - Math.min(a, b) : a와 b중에 작은 수 반환 ​ - Math.pow(밑, 지수) : 밑(지수) 값을 반환 ​ - Math.sqrt( 실수 ) : 제곱근 ​ - Math.random() : 0.0~1.0 사이의 값을 반환 0~1 사이의 범위?? == 확률 .. 2020. 1. 5.
자바 기초 배우기 26일차 [ String, StringBuffer, StringTokenizer / StringClass 3종세트 ] 1.String 클래스 1) 설명 2) 주요 메서드 3) 예제 ​ 2.StringBuffer 1) 설명 2) 주요 메서드 3) 예제 ​ 3.StringTokenizer 1) 설명 2) 주요 메서드 3) 예제 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 1.String 클래스 항상 써오던 문자열을 저장할 수 있는 클래스 자료형처럼 사용해왔지만 클래스이기에 메서드가 존재 1) 주요 메서드 . equlas( ) 두 개의 문자열이 동일한 값을 가지고 있는지 비교 ​ 문자열 A. indexOf( 문자열 B ) 문자열 A에서 문자열 B 가 시작되는 위치 ​ 문자열. repalceAll( A, B ) 문자열 내에서 A를 B로 치환해라 ​ 문자열. subString( 시작 인덱스, 끝 인덱스 ) 시작 I부터 끝 I 전까.. 2020. 1. 5.
자바 기초 배우기 25일차 [ Wrapper, ForEach문, 객체배열, toStinrg(), 박싱,언박싱, 오토박싱 ] 1.Wrapper 1) Wrapper설명 2) Wrapper 예제 3) 박싱 언박싱 ​ 2.ForEach 1) ForEach문 설명 2) ForEach문 예제 3) ForEach문 문제, 정답 ​ ​ ​ 1.Wrapper Wrapper? Wrapper는 기본 타입의 자료형을 다루기 위해 만들어진 클래스이며 따로 Wrapper라는 클래스가 존재하는 건 아니다 ​ 기본 타입 - (Wrapper클래스) byte ( Byte ) short ( Short ) int ( Integer ) long ( Long ) char ( Charater ) float ( Float ) double ( Double ) boolean ( Boolean ) ​ ​ ​ 목적? Wrapper를 이용하면 정수를 문자열로 하거나 문자열을 .. 2020. 1. 5.
자바 기초 배우기 24일차 [ 모듈, 패키지, 클래스, API, java.lang, ObjectClass ] [ 모듈, 패키지, 클래스 ] ​ 모듈? 자바(객체지향)에서는 '모듈'이라는 것이 있다 이 모듈이란 패키지들을 묶어 관리는 것이다. ​ 자바에서는 기본적으로 제공하는 수많은 메서드가 있다 우리가 매일 쓰던 print(); 이도 메서드이며 그 메서드는 자바에서 기본 제공을 해주는 것이다 ​ 이렇게 미리 제공하는 함수가 없었다면 우리는 print(); 즉 괄호 안에 들어가는 문자열과 변수들을 우리 눈에 보이게 해주는 기능을 직접 구현하여야 하는데 쉽지 않다. ​ 이러한 메서드를 모아놓은 것이 클래스! 그 클래스를 모아놓은 것이 패키지! 그 패키지를 묶어 관리하는 게 모듈이다 ​ ​ JRE System LIbrary 속에는 많은 모듈이 존재한다 ​ ​ ​ 이 모듈 안에는 수많은 패키지들이 들어있다 ​ ​ 이 .. 2020. 1. 5.
자바 기초 배우기 23일차 [ 추상클래스,인터페이스클래스, 추상메서드 정리 ] 자바 22일 차에서 추상 클래스&인터페이스 클래스 혼용 사용 예시와 함께 다중 상속까지 알아보았다. htthttps://lchit.tistory.com/38?category=851250 자바 기초 배우기 22일차 [ 추상클래스, 인터페이스, 익명클래스 ] 1. 추상 클래스 2. 인터페이스 클래스 ​ 3. 다중 상속 ​ 4. 익명 클래스 ​ ​ ​ ​ 1. 추상 클래스 추상 클래스에 대한 내용은 https://lchit.tistory.com/37?category=851250 자바 기초 배우기 21일차 [ 내부.. lchit.tistory.com ​ 오늘은 어제에 이어서 같은 예제로 진행하며 새로운 인터페이스 하나를 더 만들어 추가적인 기능들을 다중 상속하여 오버 라이딩하는 작업을 했다 고로 오늘은 주요핵심.. 2020. 1. 5.