목록백기선 자바스터디 (10)
까마귀코딩.log

더보기 > 목표 인용의 나열형에 대해 알아내세요. 학습할 것 (필수) 열거형을 정의하는 방법 열거형이 제공되는 경우 (values()와 valueOf()) java.lang.Enum 열거형 집합 열거형을 정의하는 방법 ( 이넘 정의하기 ) 이넘 타입이란 뭘까 ? 관련이 있는 상수들을 묶어놓은것이다. 자바에서는 final 로 String 과 같은 문자열이나 숫자들을 나타내는 기본 자료형의 값을 고정할수 있다. 이렇게 고정된 값을 상수라고 한다 ! enum 으로 상수정의하기 ! 열거형인 enum 은 서로 연관된 상수들의 집합이라고 할수 있습니다. !! enum 생성자는 왜 private 인가요 ? -> java에서 enum 타입은 열거형을 의미하는 특별한 클래스입니다. 그렇기 때문에 일반 클래스와 같이 생성..

더보기 > 목표 젤리의 다중 스레드 프로그래밍에 대해 알아보십시오. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선 순위 메인 쓰레드 부정 데드락 Thread 클래스와 Runnable 인터페이스 쓰레드란 뭘까 ? 프로그램 == 프로세스 프로그램을 실행하면 ? => 프로세스가 된다. => OS로부터 자원을 할당받아서 프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원과 쓰레드로 구성되어 있다. 무슨말? 프로세스 구성은 데이터 / 메모리 / 쓰레드 등이다 !! 쓰레드(Thread)란 ?? 프로세스 내에서 실행되는 흐름의단위 cpu 스케줄링의 기본단위 쓰레드는 다음과 같은 특징을 가지고 있다. 쓰레드는 각자 자신의 Stack 영역을 보유한다. ( ..

더보기 > 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는법 ! 인터페이스 정의하는 방법 ?!? 클래스간 결합(느슨한 결합)을 낮춰준다. 인터페이스를 통해서 여러 클래스에서 각각 구현하여 사용할 수 있게된다. 표준화가 가능하다. 어떤 기능을 구현해야 하는지를 인터페이스를 통해 추론할 수 있다. 그래서 뭔뜻인데 .. 객체 지향 프로그래밍의 추상화를 배우고 추상 클래스를 접해봤다면 ? 그 다음 접해보는 것이 ..

더보기 > 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 자바에서의 예외처리법 ( try, catch, throw, throws, finally ) 1. try, catch 예외가 발생했을때 우리는 try ... catch ... finally 라는 키워드로 예외를 처리할 수 있거나 메소드를 호출한 곳으로 던질 수 있습니다. 한 가지 중요한 점은 자바에서 모든 예외는 Exception이라는 클래스를 상속받습니다. Exception의 상속 트리..

더보기 > 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 package 키워드 패키지란?? 뭘 뜻하나요? -> 클래스, 인터페이스 들의 묶음 !! 패키지를 왜 사용하나요 ? 연관된 클래스와 인터페이스들 끼리 묶어서 효율적으로 관리하려고 !! == 자바에서 패키지란 ? 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스(.class)파일들을 한곳에 묶어 놓은 것을 말함 ! 그러므로 -> 패키지는 파일 시스템의 디렉터리(혹은 폴더)와 연관 !! 하나의 패키지는 ? 하나의 디렉터리에 저장된 클래스 파일들을 말한다 ~! == 클래스는 어떤 특징이 있나요 ? 1. 클래스 첫문장에 그 클..

더보기 > 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 - 클래스의 다중상속을 지원하지 않는다. - 상속횟수에 제한을 두지 않는다. - 계층구조의 최상위에 java.lang.Object 클래스가 있다. 자바에서 모든 클래스는 오브젝트 클래스를 자동으로 상속받도록 설계되어있다. 그래서 toString(), equals()같은 메소드들을 바로 사용이 가능하다 ! 상속을 하게되면 어떤 장점이 있을까??? 1. 코드 재사용, 변수재사용으로 개발시간이 단축 ! 2. 먼저 작성된 프로그램 재사용 하기 때문에 신뢰성 있음 ! 3. 클래스간 계층분류 및 관리가 가능 ! 유..

더보기 > 목표 자바가 제공하는 다양한 연산자를 학습합시다 03주차에서 학습할 것 ? 1. 산술 연산자 2. 비트 연산자 3. 관계 연산자 4. 논리 연산자 5. instanceof 6. assignment(=) operator 7. 화살표(->) 연산자 8. 3항 연산자 9. 연산자 우선 순위 10. (optional) Java 13. switch 연산자 1. 산술 연산자 ?? 🍒 boolean 빼고 모든 기본 타입에서 사용가능하다 ! 산술연산자의 타입변환 : 피연산자들의 타입이 동일하지 않을 경우?? 자동 타입 변환 하여 피연산자들의 타입을 일치시킨 후 연산 수행 !! 1 ) 피연산자가 모두정수 ?? >> int 보다 크기가 작은 정수타입일때 ( byte, char, short ) → 모두 int 타..

더보기 > 목표 자바의 Class에 대해 학습하세요. 05주차에서 학습할 것 ? 1. 클래스 정의하는 방법 2. 객체 만드는 방법 (new 키워드 이해하기) 3. 메소드 정의하는 방법 4. 생성자 정의하는 방법 5. this 키워드 이해하기 자바는 객체지향 언어라고들 합니다. 세상의 모든것을 객체로 표현하고, 그 객체들을 조립해서 프로그램을 완성합니다. 클래스와 객체는 추상적이고 난해해서 선뜻 이해하기가 어려운데 , 객체라는 용어는 Object 를 번역한 것이고 세상에 존재하는 모든것을 의미합니다. 그냥 물건이라고 생각하면 편해요~ 모든 사물은 속성과 동작으로 구성되며 사물기리 관계를 맺으며 세상이 돌아가는데 사람이 자동차를 타고, 노트북을 사용하고, 통장에 입금해서 예금잔고를 증가시킵니다. 객체 지향 ..

더보기 > 목표 자바의 프리미티브 타입, 변수 그리고 배열을 사용하는 방법을 익히자 ! 02주차에서 학습할 것 ? 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 2. 프리미티브 타입과 레퍼런스 타입 3. 리터럴 4. 변수 선언 및 초기화하는 방법 5. 변수의 스코프와 라이프타임 6. 타입 변환, 캐스팅 그리고 타입 프로모션 7. 1차 및 2차 배열 선언하기 8. 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 -- 그리고 기본값 ?? JAVA 에서 Primitive Type 이란 ?? ↳ 자바에서 제공하는 기본변수 타입을 말한다. 여기서 타입이란 뭘까 ?? 컴퓨터가 읽어들일 때 , 해당 데이터를 어떻게 식별할지 알려주는 분류기준 이라고 생각하면 된다. 사진과 같이 총 8개로 구성되어있..

더보기 > 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기. 01주차에서 학습할 것 ? 1. JVM이란 무엇인가 ? 2. 컴파일 하는 방법 ? 3. 실행하는 방법 ? 4. 바이트코드란 무엇인가 ? 5. JIT 컴파일러란 무엇이며 어떻게 동작하는지 ? 6. JVM 구성 요소 ? 7. JDK와 JRE의 차이 ? 1. JVM 이란 무엇인가? Java Virtual Machine의 줄임말. 자바를 실행하기 위한 가상컴이라고 생각하면 된다. java는 os에 종속받지 않고 실행되기 위해서 , java를 실행시킬 무언가가 필요하다. 그게 바로 자바버츄얼머신이다. 즉 == OS에 종속받지 않고, CPU가 JAVA를 인식, 실행할수 있게 하는 가상컴퓨터를 말한다. - 자바 소스코드 ( .java ..