Java/혼공자 9

Chapter 10 예외 처리

10-1 예외 클래스 예외는 사용자의 잘못된 조작 또는 잘못된 코딩으로 발생하는 프로그램 오류이다. 예외 발생 시 프로그램이 바로 종료된다는 점은 에러와 비슷하지만 예외는 예외 처리를 통해 프로그램 종료 없이 정상 실행 상태를 유지할 수 있다. 예외와 예외 클래스 예외에는 일반 예외와 실행 예외 두 가지 종류가 있다. 일반 예외 컴파일러 체크 예외라고도 한다. 프로그램 실행 시 예외 발생 가능성이 높기 때문에 컴파일 과정에서 해당 예외 처리 코드가 있는지 검사한다. 없을 경우 컴파일 오류가 발생한다. 실행 예외 컴파일러 넌 체크 예외라고도 한다. 프로그램 실행 시 예측할 수 없이 발생하기 때문에 컴파일 시 해당 예외 처리 코드가 있는지 검사하지 않는다. 일반 예외와 실행 예외를 구분하는 기준은 Runti..

Java/혼공자 2023.01.26

Chapter 09 중첩 클래스와 중첩 인터페이스

09-1 중첩 클래스와 중첩 인터페이스 소개 중첩 클래스 : 클래스 내부에 선언된 클래스 중첩 클래스 사용 시 두 클래스의 멤버들을 쉽게 접근할 수 있고, 외부에는 불필요한 관계 클래스를 감춰 코드의 복잡성을 낮출 수 있다. 중첩 인터페이스 : 클래스 내부에 선언된 인터페이스 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해 사용한다. 중첩 클래스 중첩 클래스는 선언되는 위치에 따라 두 가지로 분류된다. 멤버 클래스 : 클래스의 멤버로 선언되는 중첩 클래스. 클래스/객체 사용 중에는 언제든 재사용이 가능하다. 로컬 클래스 : 생성자/메소드 내부에 선언되는 중첩 클래스. 메소드 실행 중에만 사용되며 메소드가 종료되면 없어진다. 인스턴스 멤버 클래스 인스턴스 멤버 클래스는 static 키워드 없이..

Java/혼공자 2023.01.20

Chapter 08 인터페이스

08-1 인터페이스 개발 코드와 객체가 통신하는 접점 역할 코드가 인터페이스의 메소드 호출 시 -> 인터페이스는 객체의 메소드를 호출한다. 코드는 객체의 내부 구조를 알 필요가 없고 인터페이스의 메소드만 알면 된다. 인터페이스를 두는 이유는 인터페이스는 여러 객체들과 사용 가능하기 때문에 코드 변경 없이 실행 내용과 리턴값을 다양화 할 수 있다. 인터페이스 선언 인터페이스 선언은 class 대신 interface 키워드를 사용한다. 인터페이스명은 클래스명 작성 규칙과 동일하다. [public] interface 인터페이스명 { ... } 인터페이스는 구성 멤버로 상수 필드와 추상 메소드만을 가진다. 인터페이스는 객체로 생성할 수 없기 때문에 생성자를 가질 수 없다. 상수 필드 선언 인터페이스는 객체 사용..

Java/혼공자 2023.01.18

Chapter 07 상속

07-1 상속 상속은 중복되는 코드를 줄여준다. 부모 클래스 수정 시 자식 클래스에도 적용되어 유지 보수 시간을 최소화해준다. 클래스 상속 자식 클래스 선언 시 extends 뒤에 상속받을 부모 클래스를 작성한다. class SportCar extends Car {} 상속 특 - 여러 개의 부모 클래스를 상속할 수 없으며, 단일 상속만 가능하다. - 부모 클래스에서 private 접근 제한을 갖는 필드/메소드는 상속되지 않는다. 부모, 자식 클래스가 다른 패키지에 존재 시 default 접근 제한을 갖는 필드/메소드는 상속되지 않는다. 부모 생성자 호출 자식 객체 생성 시 부모 객체가 먼저 생성된 후 부모 객체를 자식 객체가 상속하게 된다. 부모 생성자는 자식 생성자의 맨 첫줄에서 호출된다. 컴파일러가 ..

Java/혼공자 2023.01.16

[혼공학습단 9기] 혼공자 2주차

기본미션 p. 330 문제 5번 실행 결과 인증 화면 캡처하기 Parent 클래스 Child 클래스 ChildExam 클래스 실행결과 내용 정리 chapter 6 https://ycyeon.tistory.com/34 Chapter 06 클래스 06 - 1 객체 지향 프로그래밍 객체 지향 프로그래밍 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지며 식별 가능한 것을 말한다. 객체는 속성과 동작으로 구 ycyeon.tistory.com chapter 7 https://ycyeon.tistory.com/36 Chapter 07 상속 07-1 상속 상속은 중복되는 코드를 줄여준다. 부모 클래스 수정 시 자식 클래스에도 적용되어 유지 보수 시간을 최소화해준다. 클래스 상속 자식 ..

Java/혼공자 2023.01.15

Chapter 06 클래스

06 - 1 객체 지향 프로그래밍 객체 지향 프로그래밍 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지며 식별 가능한 것을 말한다. 객체는 속성과 동작으로 구성되어 있으며 자바에선 속성 - 필드, 동작 - 메소드라고 한다. 객체와 클래스 클래스 = 설계도, 인스턴스 = 클래스로부터 만들어진 객체, 인스턴스화 = 클래스로부터 객체를 만드는 과정 클래스 선언 클래스명은 다른 클래스와 식별할 목적으로 사용되므로 식별자 작성 규칙을 따른다. 식별자 작성 규칙 - 하나 이상의 문자로 이뤄짐 - '$', '_' 이외의 특수문자 사용 X - 첫 글자 숫자 X - 자바 키워드 사용 X 소스파일명과 클래스명은 대소문자까지 일치하도록 해야 함. 클래스 선언 시에는 public class ..

Java/혼공자 2023.01.10

[혼공학습단 9기] 혼공자 1주차

기본 미션 JDK 설치 화면 인증하기 선택 미션 학습 스케줄 짜고 공유하기 chapter 01 ~ 04 정리 https://ycyeon.tistory.com/31 Chapter 01 자바 시작하기 ~ 04 조건문과 반복문 자바 기본 타입 자바의 기본 타입에는 정수, 실수, 논리 타입이 있다. 정수 타입에는 byte, char, short, int, long 형이 있고 실수 타입에는 float, double 형 논리 타입에는 boolean 형이 존재한다. 정수 연산 ycyeon.tistory.com chapter 05 정리 https://ycyeon.tistory.com/32 Chapter 05 참조 타입 기본 타입 변수와 참조 타입 변수 자바의 데이터 타입은 크게 기본 타입과 참조 타입으로 나뉜다. 기본..

Java/혼공자 2023.01.08

Chapter 05 참조 타입

기본 타입 변수와 참조 타입 변수 자바의 데이터 타입은 크게 기본 타입과 참조 타입으로 나뉜다. 기본 타입은 정수, 실수, 논리 타입으로 나뉘고 참조 타입은 배열, 열거, 클래스, 인터페이스 타입이 있다. 자바에서 모든 변수는 스택 영역에 생성되지만 기본 타입 변수 -> 변수에 값을 직접 저장하고, 참조 타입 변수 -> 힙 영역에 생성된 객체의 번지를 저장한다. 따라서 참조 변수는 번지를 참조하여 객체에 접근하므로 참조 타입 변수라고 한다. 메모리 사용 영역 메모리 영역은 메소드 영역, 힙 영역, jvm 스택 영역으로 나뉜다. 메소드 영역에는 .java 파일 작성 후 컴파일을 통해 생성된 바이트 코드 파일을 실행하면 메소드 영역에 로딩이 된다. 클래스의 바이트 코드들이 메소드 영역에 저장된다. 힙 영역에..

Java/혼공자 2022.12.29

Chapter 01 자바 시작하기 ~ 04 조건문과 반복문

자바 기본 타입 자바의 기본 타입에는 정수, 실수, 논리 타입이 있다. 정수 타입에는 byte, char, short, int, long 형이 있고 실수 타입에는 float, double 형 논리 타입에는 boolean 형이 존재한다. 정수 연산에서의 타입 변환 정수 타입 변수가 산술 연산식에서 피연산자로 사용될 경우 int보다 허용 범위가 작은 byte, short 타입 변수는 자동으로 int 형으로 타입이 변환되어 연산된다. 다른 타입의 변수를 연산할 경우 허용범위가 더 큰 타입으로 변환된 후 연산을 수행한다. 예를 들어 int형 변수와 double형 변수를 덧셈연산을 할 경우, int형 변수를 double형으로 변환한 후에 덧셈 연산을 실행한다. 정수끼리의 연산은 결과도 정수 타입이다. int a ..

Java/혼공자 2022.12.28