본문 바로가기

개발 스토리/Java live study

(7)
Java 3주차 : 연산자 목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 산술 연산자에는 사칙 연산자(+, -, *, /)와 나머지 연산자(%)가 있다. 곱셈, 나눗셈, 나머지 연산자가 덧셈, 뺄셈연산자보다 우선순위가 높으므로 먼저 처리된다. 그리고 피연산자가 정수형인 경우, 나누는 수로 0을 사용할 수 없다. 만일 0으로 나눈다면, 실행 시에 에러가 발생한다. public class Main { public static void main(String[] args) { int a = 10;..
Java 2주차 : 자바 데이터 타입, 변수 그리고 배열 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입은 기본형이며 기본형에는 모두 8개의 타입이 있으며, 논리형, 문자형, 정수형, 실수형으로 구분된다. 분류 타입 논리형 boolean true와 false 중 하나를 값으로 갖으며, 조건식과 논리식 계산에 사용된다. 문자형 char 문자를 저장하는데 사용되며, 변수에 하나의 문자만 저장할 수 있다. 정수형 byte, sho..
Java 12주차 과제 : 애노테이션 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 annotation이란? 애노테이션은 프로그램의 소스 코드 요소에 바인딩된 메타 데이터이며 애노테이션이 코드의 작동에는 영향을 주지 않습니다. 애노테이션은 프로그래밍 언어에 영향을 미치지 않으면서도 다른 프로그램에게 유용한 정보를 제공할 수 있다는 장점이 있습니다. 메타 데이터란? 데이터를 위한 데이터를 의미하며, 한 데이터에 대한 설명을 의미하는 데이터입니다. 일반적인 사용 사례 애노테이션을 통해 컴파일러는 오류를 감지하거나 경고를 억제할 수 있습니다. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공합니다. 실행 시..
Java 1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 목표 자바 소스 파일(. java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 JVM이란 무엇인가 JVM은 'Java virtual machine'을 줄인 것으로 직역하면 '자바를 실행하기 위한 가상 기계'라고 할 수 있다. 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다. 일반 애플리케이션의 코드는 OS만 거치로 하드웨어로 전달되는데 비해 Java애플리케이션은 JVM을 한 번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석된..
Java 11주차 : Enum 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum 이란? Enum(열거형)은 프로그래밍 언어에서 명명 된 상수 그룹을 나타내는 목적으로 사용된다. enum 정의하는 방법 열거형을 정의하는 방법은 괄호안에 상수의 이름을 나열하기만 하면 된다. Enum선언은 클래스 외부 또는 클래스 내부에서 수행 할 수 있지만 메서드 내부에서는 수행 할 수 없다. enum 열거형이름 { 상수명1, 상수명2, ... } enum Color { RED, GREEN, BLUE } 결과 : RED Enum의 중요 사항 모든 enum은 클래스를 사용해서 내부적으로 정의된다. / * 내부..
Java 5주차 : 클래스 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법(new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinaryTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node)메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스란? '객체를 정의해놓은 것', 또는 클래스는 '객체의 설계도 또는 틀'이라고 정의할 수 있다. 클래스는 객체를 생성하는데 사용되며,..
Java 4주차 : 제어문 목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 선택문 반복문 과제 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit5로 테스트 코드 작성하는 방법에 익숙해질 것. 과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소수점 두 자리까지 보여줄 것. Github 자바 라이브러리를 사용하면 편리합니다. 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. 과제 2. LinkedList를 구현하세요 LinkedList에 대해 공..