일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 백준#BOJ#14501#퇴사#브루트포스
- 백준#BOJ#2615#오목
- 백준#BOJ#12865#평범한배낭
- 백준#BOJ#8012#한동이는영업사원
- 백준#boj#16932#모양만들기
- 백준#boj#12755
- 백준#BOJ#1939#중량제한
- Today
- Total
목록백기선님과 함께 하는 자바 스터디 (23)
순간을 성실히, 화려함보단 꾸준함을
목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것(필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Process 와 Thread란? 목차에 들어가기 앞서 필자는 자바가 아닌 운영체제의 시선으로 프로세스와 쓰레드에 관해 이야기를 살짝 하고 싶다. 많이들 어려워 하는 개념이다. 프로세스가 뭔지, 쓰레드가 뭔지, 그렇다면 쓰레드와 프로세스의 차이점은 대체 무엇인지? 뭐가 그렇게 중요하길래 강조를 하는지 한번 천천히 알아보도록 하자. 프로세스(Process) 운영체제에서 프로세스는 하나의 작업 단위를 뜻한다. 간단히 말해서 당신이 메모장프로그램을 마우스로 더블클릭하여 실행하게 되면 더이상 하나의 메모장 프로세스가 실행되는 것이다..
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) Exception과 Error의 차이는? 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) + (catch-with-resource) 자바가 제공하는 예외 계층 구조와 checked exception과 unchecked exception의 차이 커스텀한 예외 만드는 방법 1. Exception과 Error의 차이는? 먼저 본격적인 내용에 들어가기 앞서 예외란 무엇인지? 그리고 에러와 어떤 차이점이 있는지 부터 알아보도록 하자 예외(Exception) : 입력값의 처리가 불가능하거나, 프로그램 실행 중에 참조된 값이 잘못된 경우. 정상적인 프로그램의 흐름을 어긋나는 것을 말함 에러(Error) : 시스템..
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스란? - 클래스들이 동작해야 될 지정하는데 사용되는 추상 자료형이다. 다수의 개발자들이 하나의 프로젝트를 개발한다고 하면 서로 구현해야 될 각 기능들을 인터페이스를 정의하게 되면 내부적으로 어떤 로직을 가지고 있던간에 상관없이 기능을 사용하는데 문제가 발생하지 않게된다. 왜 인터페이스를 사용하는가?? - 개발 코드를 수정하지 않고, 사용하는 객체를 변경할 수 있도록 하..
목표 자바 패키지에 대해 학습하자 학습할 것 (필수) package 키워드 import 키워드 클래스패스 접근지시자 package 키워드 package란? - 클래스들의 모음집을 뜻한다. 이를 통해 편리하게 프로젝트들을 관리할 수 있다. 왜 package를 사용하는가? - 각 클래스들의 고유성을 보장하기 위해서이다. 서로 다른 라이브러리에서 동일한 클래스명을 가지고 있는 파일이 존재한다면 이는 다른 패키지를 사용함으로써 충돌을 피할 수 있다. 선언방법과 규칙 상위패키지명.하위패키지명.클래스 숫자로 시작하면 안된다. _, $ 를 제외한 특수문자를 사용해서는 안된다. java로 시작하는 패키지는 자바 표준 api 에서만 사용하므로 사용해서는 안된다. package 안의 클래스명은 고유해야한다. 다른 패키지라..
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바의 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치(Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바의 상속의 특징 상속이란? - 부모클래스의 변수 또는 메소드를 자식 클래스가 물려받아 그대로 사용 가능하게 해주는 것을 뜻한다. 부모클래스를 superclass 자식클래스를 subclass라고 칭한다. extends라는 키워드를 사용하여 상속을 지정할 수 있다. class Parent{ String parent = "I'm Parent"; public void ret_Parent(){ System.out.println("I'm Parent Method"); ..
이진탐색트리 package com.example.demo; public class Node { int value; Node left,right; Node(int value){ this.value=value; this.left=this.right=null; } //Node 추가 public Node addNode(Node cur,int value){ if(cur==null)return new Node(value); if(cur.value
목표 자바의 Class에 대해 학습하세요. 학습할 것(필수) 클래스 정의하는 법 객체 만드는 방법(new 키워드 이해하기) 메서드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 (번외)Nested Class 과제(Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스 정의하는 법 클래스란?? =- 변수(데이터,속성)과 메서드(행위)를 가지고 있는 집합을 뜻합니다. cl..
목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 (필수) 선택문과 조건문 반복문 과제 (옵션) 과제 0. JUnit 5 학습하세요. 과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. 과제 2. LinkedList를 구현하세요. 과제 3. Stack을 구현하세요. 과제 4. 앞서 만든 ListNode를 사용해서 Stack을 구현하세요 과제 5. Queue를 구현하세요. 제어문이란 프로그램의 실행 흐름을 실행자가 원하는 방향으로 바꾸어 줄 수 있게끔 해주는 것. 일반적으로 조건식과 실행 구문인 중괄호로 구성이 되어있다. 1.조건문 명령문 또는 명령문 블록의 실행 여부를 결정해 주는 역할을 수행합니다. 조건이 참이면 블록문의 코드들을 실행하게 되고 그렇지 않으면 블록을 건너 뜁니다. ..
목표 자바가 제공하는 다양한 연산자를 학습하자 학습할 것 1) 산술 연산자 2) 비트 연산자 3) 관계 연산자 4) 논리 연산자 5) instanceof 6) assignment(=) operator 7) 화살표(->) 연산자 8) 3항 연산자 9) 연산자 우선 순위 10) (optional) Java 13,switch 연산자 연산(operations) : 프로그램에서 데이터를 처리하여 결과를 산출 하는 것 연산자(operator) : 연산에 사용되는 기호 피연산자(operand) : 연산의 대상이 되는 데이터 연산자 종류연산자값산술+,-,*,/,%수부호+,-수문자열+문자열대입=,+=,-=,*=,/=,%=,&=, ^=,|=,=,>>>= 여러타입증감++,--수비교(관계)==,~=,>,=,>,>수 산술 연산..
목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 자바는 크게 프리미티브 타입과 레퍼런스 타입으로 나뉩니다. 프리미티브 타입(Primitive type) 이란 원시타입이라는 뜻이고 직접 값을 담는 타입을 뜻합니다. 레버런스 타입(Reference type)은 다른 값을 참조하는 주소값을 담는 타입을 뜻합니다. 자바에서 프리미티브 타입은 8가지가 있습니다. 타입 메모리 크기 기본값 데이터..
시작하기 앞서 알고리즘 문제를 푸는 것 정말 중요한일이지만 애초에 왜 이 블로그를 개설하였는지 생각해보았습니다. 단순히 알고리즘 관련 블로그가 아닌 저처럼 불완전한 컴공학생들을 위해 같이 지식을 쌓고 부족한점을 서로서로 채워 보자라는 취지에서 만들었었습니다. 그러나 언제부턴가 나태해지기 시작했고 더이상 미룰수 없다는 생각이 들어 '개발'을 위한 토대를 쌓아 올리는 일들을 해보려고 합니다. 전 백엔드 개발자가 되고 싶습니다. 다양한 프레임워크 중 스프링을 배워보고 싶으며 이를 위해선 가장 기본적인 JAVA를 공부하여 시작하려고 합니다. 몇명이나 이 글들을 보실지는 모르겠지만 부족한 글 읽어주시고 댓글까지 남겨주셔서 채워주시면 감사한 마음을 가지며 열심히 해보겠습니다. 목표 자바 소스 파일(.java)을 J..