전체 글 100

8주자 과제: 인터페이스

목표 자바의 인터페이스에 대해 학습하세요. 목차 1. 인터페이스 정의하는 방법 2. 인터페이스 구현하는 방법 3. 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 4. 인터페이스 상속 5. 인터페이스의 기본 메소드 (Default Method), 자바 8 6. 인터페이스의 static 메소드, 자바 8 7. 인터페이스의 private 메소드, 자바 9 1. 인터페이스 정의하는 방법 interface 키워드 인터페이스는 클래스들이 구현해야 하는 동작을 지정하는데 사용되는 추상 자료형이다. (=규격, 틀) 클래스들이 기능을 서로 다르게 구현할 수 있도록 하는 클래스의 규격 선언, 클래스의 다형성 실현 도구. interface PhoneInterface{ // 인터페이스 선언 public static fin..

자바 스터디 2022.06.04

7주차 과제: 패키지

목표 자바의 패키지에 대해 학습하세요. 목차 1. package 키워드 2. import 키워드 3. 클래스패스 4. CLASSPATH 환경변수 5. -classpath 옵션 6. 접근지시자 1. package 키워드 (1) 패키지 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스 파일을 묶어 놓은 것(디렉터리) 같은 파일명이라도 패키지가 다르면 구분된다. (2) 경로 표시 클래스의 경로를 표기할 땐 점(.)으로 한다. java.util.Scanner 2. import 키워드 다른 패키지에 있는 클래스를 사용하기 위해서는 패키지를 불러와야 힌다. 경로를 표기해 사용할 수도 있지만 번거롭기 때문에 import를 사용하여 한 번만 경로를 알려준다. import문은 코드의 앞에 써야한다. (1) 클래스마다..

자바 스터디 2022.06.04

6주차 과제: 상속

목표 자바의 상속에 대해 학습하세요. 목차 1. 자바 상속의 특징 2. super 키워드 3. 메소드 오버라이딩 4. 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 5. 추상 클래스 6. final 키워드 7. Object 클래스 1. 자바 상속의 특징 상속이란 부모 클래스의 멤버를 자식 클래스가 사용할 수 있는 것. 클래스의 간결화로 멤버의 중복 작성이 불필요하다. 클래스 관리가 용이하다. 클래스 재사용과 확장이 용이해 소프트웨어 생산성이 향상된다. 부모클래스=슈퍼클래스=상위클래스 자식클래스=서브클래스=하위클래스 (1) 상속 특징 extends 예약어로 상속을 지정할 수 있다. 하나의 부모 클래스는 여러 개의 자식 클래스를 가질 수 있다.(여러개의 부모는 안 된다=> 다중상속×..

자바 스터디 2022.05.30

5주차 과제: 클래스

목표 자바의 Class에 대해 학습하세요. 목차 1. 클래스 정의하는 방법 2. 객체 만드는 방법 (new 키워드 이해하기) 3. 메소드 정의하는 방법 4. 생성자 정의하는 방법 5. this 키워드 이해하기 1. 클래스 정의하는 방법 클래스는 객체(인스턴스)를 만들어 내기 위한 틀이며, 객체는 클래스를 사용해 만든 실체이다. 따라서 클래스의 속성을 가지고 있지만, 각 고유값을 가지고 있어 구분된다. 클래스는 객체를 캡슐화하고 있다. 캡슐화란 객체를 캡슐로 감싸 보호하는 것을 말한다. 클래스의 구성요소를 멤버라고 부르며, 객체의 상태를 나타내는 필드(멤버 변수)와 객체의 행동을 나타내는 메소드(멤버 함수)로 구성된다. 2. 객체 만드는 방법 (new 키워드 이해하기) public class Cricle{..

자바 스터디 2022.05.20

4주차 선택 과제 0. JUnit 5 학습

더보기 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것. 이미 JUnit 알고 계신분들은 다른 것 아무거나! 더 자바, 테스트 강의도 있으니 참고하세요~ 과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. 깃헙 이슈 1번부터 18번까지 댓글을 순회하며 댓글을 남긴 사용자를 체크 할 것. 참여율을 계산하세요. 총 18회에 중에 몇 %를 참여했는지 소숫점 두자리가지 보여줄 것. Github 자바 라이브러리를 사용하면 편리합니다. 깃헙 API를 익명으로 호출하는데 제한이 있기 때문에 본인의 깃헙 프로젝트에 이슈를 만들고 테스트를 하시면 더 자주 테스트할 수 있습니다. 과제 2. LinkedList를 구현하..

자바 스터디 2022.05.19

4주차 과제: 제어문

목표 자바가 제공하는 제어문을 학습하세요. 목차 (필수) 1. 조건문 2. 반복문 1. 조건문 (1) if문 if (조건식) { 실행문장; } 조건식이 참이면 실행문장을 실행하고, 거짓이면 if문을 벗어난다. (2) if-else문 if (조건식) { 실행문장1; } else { 실행문장2; } 조건식이 참이면 실행문장1을 실행하고, 거짓이면 실행문장2를 실행한다. (3) 다중 if-else문 if (조건식) { 실행문장1; } else if (조건식2) { 실행문장1; } else if (조건식n) { 실행문장n; } else { 실행문장m; } (4) switch문 switch (식) { case 값1: // 값은 정수리터럴, 문자리터럴, 문자열리터럴만 가능 실행문장1; break; // 실행문장이 ..

자바 스터디 2022.05.19

3주차 과제: 연산자

목표 자바가 제공하는 다양한 연산자를 학습하세요. 목차 1. 산술 연산자 2. 증감 연산자 3. 비트 연산자 4. 관계 연산자(비교 연산자) 5. 논리 연산자 6. instanceof 7. 대입 연산자 assignment(=) operator 8. 화살표(->) 연산자 9. 3항 연산자 10. 연산자 우선 순위 11. (optional) Java 13. switch 연산자 1. 산술 연산자 연산자 의미 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 2. 증감 연산자 연산자 내용 a++ a를 1증가, 증가 전 값 반환 ++a a를 1증가, 증가 후 값 반환 a-- a를 1감소, 감소 전 값 반환 --a a를 1감소, 감소 후 값 반환 3. 비트 연산자 (1) 비트 논리 연산 연산자 연산 내용 a&b ..

자바 스터디 2022.05.18

2주차 과제: 자바 데이터 타입, 변수 그리고 배열

목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힙니다. 목차 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 2. 프리미티브 타입과 레퍼런스 타입 3. 리터럴 4. 변수 선언 및 초기화하는 방법 5. 변수의 스코프와 라이프타임 6. 타입 변환, 캐스팅 그리고 타입 프로모션 7. 1차 및 2차 배열 선언하기 8. 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 타입 이름 값의 범위 기본 값 크기 정수형 byte -128~127 0 1byte short -32,768~32,767 0 2byte int -2,147,483,648~2,147,483,647 0 4byte long -9,223,372,036,854,775,808~9,223,372,036,854..

자바 스터디 2022.05.17

1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.

목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 목차 1. 컴파일 하는 방법 2. 실행하는 방법 3. 바이트코드란 무엇인가 4. JVM이란 무엇인가 5. JIT 컴파일러란 무엇이며 어떻게 동작하는지 6. JVM 구성 요소 7. JDK와 JRE의 차이 https://docs.oracle.com/javase/tutorial/index.html 1. 컴파일 하는 방법 (1) 컴파일러 고급 언어로 작성된 파일을 컴퓨터가 이해할 수 있는 기계어로 번역하고 그 결과인 목적 파일을 만든다. 그리고 그 과정을 컴파일이라고 한다. (2) 컴파일 언어 종류 C, C++, Java, C# (3) 인터프리터 언어 컴파일러를 거치지 않고 바로 실행할 수 있는 프로그래밍 언어 - 종류: Python, PH..

자바 스터디 2022.05.16