본문 바로가기

자바독학14

자바 기초 배우기 31,32일차 [ Thread 쓰레드 기본개념, Synchronized (동기화작업), wait / Notify ] Thread - 스레드란 ​ - 스레드 사용법, 카운트 다운 예제 ​ - 다중 Thread의 공유자원 접근 시 동기화 Synchronized ​ - 다중 Thread의 wait( ) / Notify( ) ​ ​ 프로세스란? 주어진 목적에 따라 어떠한 일이 처리되거나 진행되는 과정 ​ ​ ​ 스레드란? 하나의 프로세스 가 실행 중일 때 프로세스를 이루는 단위 실행 요소 ​ ​ ​ ​ 다중 스레드? 동시에 복수의 스레드가 동작하는 것 두 개의 스레드가 동시 작동될 때 순차적으로 처리한다면 동기화 처리이며 동시 스레드가 병렬해서 동작한다면 비동기 처리라 한다. ​ ​ ​ Thread 구현 사용방법 및 카운트 다운 예제 1) extends Thread ( Thread의 상속 생성 ) ​ ​ 1. 스레드 클래스를.. 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.
자바 기초 배우기 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.
자바 기초 배우기 22일차 [ 추상클래스, 인터페이스, 익명클래스 ] 1. 추상 클래스 2. 인터페이스 클래스 ​ 3. 다중 상속 ​ 4. 익명 클래스 ​ ​ ​ ​ 1. 추상 클래스 추상 클래스에 대한 내용은 https://lchit.tistory.com/37?category=851250 자바 기초 배우기 21일차 [ 내부클래스, 추상클래스 ] *17일~20일 차는 예제로만 진행되어 따로 업로드 하지않음. ​ 1. 내부 클래스 ​ 2. 추상 클래스 ​ ​ ​ ​ ​ ​ 1. 내부 클래스 정의: 클래스 내부에 선언된 클래스 목적: 코드의 복잡성을 줄이기 위함 장점:.. lchit.tistory.com 자바 21일 차 [ 내부 클래스, 추상 클래스 ] *17일~20일 차는 예제로만 진행되어 따로 업로드하지 않음.​1. 내부 클래스​2. 추상 클래스​​​​​​1.... blo.. 2020. 1. 4.
자바 기초 배우기 21일차 [ 내부클래스, 추상클래스 ] *17일~20일 차는 예제로만 진행되어 따로 업로드 하지않음. ​ 1. 내부 클래스 ​ 2. 추상 클래스 ​ ​ ​ ​ ​ ​ 1. 내부 클래스 정의: 클래스 내부에 선언된 클래스 목적: 코드의 복잡성을 줄이기 위함 장점: 외부에서 선언된 필드들을 내부에서 바로 사용이 가능하다. 위 예제 코드처럼 내부 클래스에서는 별도의 공간 할당 없이 외부 클래스 필드를 공유할 수 있다는 점이 있다. ​ ​ ​ ​ 2. 추상 클래스 정의: 추상 메서드가 하나 이상 존재하는 클래스 ​ [ 추상 메서드?? ] 추상 메서드는 코드가 구현되어 있지 않은, 껍데기만 있는 메서드를 말한다 ​ 이 추상 메서드를 작성할 때는 앞에 ' abstract '라는 키워드를 붙여주며 구현 블록이 없는 것이 특징이다. = 생성법 abstrac.. 2020. 1. 4.
자바 기초 배우기 16일차 [ 오버라이딩, 업,다운 캐스팅 ] 1. 오버 라이딩 오버 라이딩이란? 부모 클래스에서 가져온(상속) 필드 중에서 메서드를 나(자식)만의 기능으로 재정의 ​ ​ ​ Ex1) OverRiding.java 예제이다 순번대로 따라가며 읽어보면 편하다. 예제처럼 오버 라이딩이란 부모 클래스를 상속받은 자식 클래스에서 부모가 가진 메서드를 자신만의 기능을 가진 메서드로 재정의 해야 할 때 쓰인다. ​ 메서드, 클래스, 객체, 상속 등이 이해되지 않는다면 게시판에 모르는 부분을 찾아서 읽어보길 바란다. ​ ​ ​ 2. 업, 다운 캐스팅 업 캐스팅? > 부모 객체에 (단, 부모 클래스에서 생성한 크기 공간에만 값이 들어간다) ​ 다운 캐스팅? > 부모 객체에 넣은 자식 객체 값을 다시 자식 객체에게로 돌려준다. (업 캐스팅된 자식 객체 값을 가진 부모.. 2020. 1. 4.
자바 기초 배우기 15일차 [ 객체배열 ] 객체 배열? 요소 하나하나가 객체인 배열 ​ 말로 설명이 조금 그래서 예제와 그림판으로 대처 ​ Ex1) ​ ​ 위 예 제을 예시로 그림판 이해 즉 풀어 설명하면 OAC라는 애는 5칸의 객체 배열이고 요소 값으로는 '객체'를 가지며 ​ for문을 활용하여 OAC [ i ] = new ObjectArrayClass(); 코드로 각 배열 공간에 객체를 생성해주고 ​ 그 생성된 객체가 객체 변수들을 불러들이는 메서드를 활용하여 "객체 배열"*5라는 결괏값을 볼 수 있다. ​ ​ Ex2) ​ 그림판 풀이 ​ 풀어서 설명하면 total이라는 변수 값을 입력받아 (예제에서는 3) 그 변숫값 3을 토대로 fruits [3 크기]의 객체 배열을 만들고 ​ 그 객체 배열에 for문을 활용하여 fruits [i] 즉 객체.. 2020. 1. 4.