본문 바로가기
728x90

whiteship6

[white-ship] 자바 스터디 후기 오늘은 자바 스터디 후기를 작성해보려고 한다. 매번 작성해야지 라는 생각을 하고 있었는데 막상 블로그 글쓰기 버튼을 누르는 건 지금 출근하기 40분 전이다. 이번 스터디는 자기 주도 학습 같은 느낌이 났다. 매주 선장님이 학습 목표를 정해주면 벌 때 처럼 달려들어 자기의 재량 껏 깊게 또는 넓게 학습하여 블로그나 메모장에 정리하여 링크를 제출하는 방식이다. 제출된 몇몇 링크들은 선장님이 확인해 라이브 방송에서 다룬다. 매주 7일이라는 시간이 있었지만 제출 하기 직전 금요일, 토요일에 스터디를 시작했고, 생각보다 다루는 내용이 어려워서 밤을 새운 적도 마감 가까스로 제출한 적도 있었다. 아쉬웠던 점은 다뤘던 주제에 대해서 이야기를 한다면 아직 정확히 안다고 할 수 없다. 좋았던 점은 정확히 안다고 할 순 .. 2021. 4. 13.
8주자 과제: 인터페이스 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 위키백과에서 인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 자바 라는 객체지향 언어에서는 상속을 통한 다형성은 조상클래스의 프로퍼티와 기능을 확장 시킨 것이라면, 인터페이스의 다형성은 두 시스템 에서 상호작용 할 수 있는 접점부분에서 규약을 만듬으로써 보다 다양한 상호작용을 하는 것이다. 자바에서는 이런 규.. 2021. 1. 8.
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가. 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 1. JVM이란 무엇인가 프로그래밍 언어는 OS에 따른 제약을 받을 수 있다. 쉽게 예를 들면, IOS - Swift 를 들 수 있다. 하지만 JVM(Java Virtual Machine) 의 대표적인 특징은 java 확장자 파일, 프로그래밍 언어를 OS에 제약에서 해방 시켜 준다. ​ ​ 2. 컴파일 하는 방법 먼저, 컴파일이란 OS 가 읽을 수 있는 바이너리(binary) 코드로 만드는 것이다. javac (Java Compiler)를 통해서 Java 언어를 즉 .. 2021. 1. 2.
2주차 과제: 자바 데이터 타입, 변수 그리고 배열 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브 타입과 레퍼런스 타입 프로그래밍 언어에서 사용되는 데이터들은 타입을 통해서 어떤 데이터 종류인지를 알 수 있다. 크게 메모리에 직접 데이터를 가지고 있는 프리미티브 타입(int, float, boolean 등이 이에 속한다.)과 데이터를 가지고 있는 곳을 가르키는 주소를 가지고 있는 레퍼런스 타입(클래스, 인터페이스, 배열, 열거 타입이 이에 속한다.)으로 나뉜다. ​ .. 2021. 1. 2.
4주차 과제: Stack 스택 (Stack) 에 대하여 사전적 의미로 "쌓다", "더미" 라는 뜻이다. 바구니에 물건을 하나씩 쌓아 둔다 로 생각하면 편하다. 위의 이미지를 보면 처음 들어간 물건이 나중에 나온다. 후입선출로 스택은 LIFO 구조이다. 예를 들어, 인터넷 뒤로가기 앞으로가기가 있다. ​ ​ Stack을 구현하세요. int 배열을 사용해서 정수를 저장하는 Stack을 구현 public class Stack { private int size = 5; // 스택의 용량 private int[] valeus; // 스택에 저장된 값들 private int topIndex; // 스택의 포인터 //stack 생성자 public Stack() { this.topIndex = 0; valeus = new int[size]; .. 2021. 1. 2.
4주차 과제: Queue Queue를 구현 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out) 자료구조이다. ​ 구현하는 방법은 배열과 LinkedList 두가지 가 있다.​ 1. 배열 public class Queue { private int[] values; public Queue() { } public Queue(int[] values) { this.values = values; } //인큐 : 데이터 삽입 public void enQueue(int data) { //맨 처음 들어오는 데이터에 대한 처리 if (values == null) { values = new int[1]; values[0] = data; return; } //정수 배열의 크기를 늘려준 뒤 마지막에 데이터를 넣어준다.(.. 2021. 1. 2.
728x90