일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- 백앤드
- userDefineException
- 개발자
- 캐스팅연산자
- 개발
- 클래스의구조
- 부모 생성자
- 사용자 정의 예외처리
- 프로그래머스
- 알고리즘
- 예외처리
- 코딩
- 생성자
- 자바
- 독학
- 가위바위보프로그램
- super 생성자
- Date Class
- 취준생
- Java
- 예외던지기
- Calendar Class
- 국비지원
- exception
- 추상화
- do~while문
- 비전공자
- 상속
- AoutoBoxing
- for문
- Today
- Total
목록개념정리 (31)
유난스런 개발 기록
day-17 예외 던지기 (Exception Throws) 예외 던지기 (Exception throws) 란 ? 특정 메소드에서 발생한 예외를 메소드를 호출한 쪽으로 떠넘겨 처리하도록 하는 것 그렇다면 왜 굳이 예외 던지기를 사용할까? 메서드 선언부에 throws 를 명시해 주어서 예외가 발생할 수 있는 코드가 있다는 것을 알려주고, 예외 처리를 강제(또는 유도)해줄 수 있다. 또한 발생 가능한 예외를 메서드에서 한 번에 처리해 주어 관리를 용이하게 해주는 효과가 있다. 사용 방법은 코드를 통해 직접 확인해보자. Member package my.day17.d.exceptionThrows; public class Member { // field 생성 String name; String kor; String..
day-17 용자 정의 예외처리 (User Define Exception) 사용자 정의 예외처리 (User Define Exception) 이란 ? 단어의 의미 그대로 사용자 즉, 개발자가 직접 예외처리를 해주는 것이다. Exception 클래스를 상속 받아야 한다. 파라미터가 없는 기본 생성자 + 예외 메시지를 전달하기 위한 파라미터(String 타입)가 있는 생성자 두 개의 생성자를 선언하는 것이 일반적이다. JangolackException extends Exception package my.day17.c.userDefineException; //== 사용자(개발자)가 정의하는 예외(익셉션)절 클래스 만들기 == // /* 1. Exception 클래스를 상속받아야 한다. 2. 생성자내에서 예외메시..
day-17 예외처리 (Exception) 예외처리 (Exception) 이란 ? 예외처리란 말 그대로 예상되는 예외를 지정해주고, 지정한 예외가 발생하면 알맞게 처리해 주는 것을 말한다. 예외는 쉽게 말하자면 error 인데, 에러가 발생하면 프로그램은 작동을 멈추게 된다. 예외 처리를 해준다면 프로그램은 멈추지 않고 정상 작동을 이어간다. 사실 예외처리는 수업시간에 따로 편성이 되어있었지만, 계속해서 써왔기 때문에 낯설지 않았다. 자바에서는 java.lang.Exception 클래스를 제공하여 예외처리를 할 수 있도록 해준다. 예외처리를 할 때 꼭 기억해야할 것이 있다. 예외 처리를 하다보면 여러개의 예외처리를 사용할 때가 있는데, 특히 부모 클래스와 자식 클래스의 익셉션을 처리할 때 오류를 범할 가..
day-16 인터페이스 (interface) 인터페이스 (interface) 란 ? field 는 final 변수로만, 메소드는 추상 메소드(미완성 메소드)로만 이루어진 것을 말한다. 추상 메소드와 field의 접근 제한자는 public 으로만 되어진다. 추상 메소드 생성 시에 public abstract 가 생략 되어져 있다. field 생성 시에 public final 이 생략 되어져 있다. 예시 코드를 통해 확인해보자. interface Figure package my.day16.e.Interface; public interface Figure { // field ==> public final 이 생략되어져 있다. double PI = 3.141592; // 즉, public final double..
day-16 final 키워드 final 키워드란 ? final 키워드는 메소드 , 변수, 클래스 에 사용이 가능하다. final은 말 그대로 종결자다. 때문에 final 을 붙여주면 특정한 제한이 걸린다. == final 메소드는 overriding (오버라이딩, 메소드의 재정의) 이 불가능하다. == == final 클래스는 다른 클래스에게 상속을 해줄 수 없다. 즉, 부모 클래스로 사용될 수 없다. == == final 을 필드에 붙이면 새로운 값을 할당할 수 없다. = 코드를 확인해보면 쉽게 이해할 수 있다. 실습으로 생성했던 여러개의 클래스를 첨부한다. 어디에 final 이 사용되었고, 어떻게 적용되고 있는지 확인해보면 된다. final_test_1 package my.day16.d.Final;..
day-16 접근 제어자 (access modifier) 접근 제어자 (access modifier) 란 ? public, protected ,default ,private 총 네가지 종류가 있다. 변수나 메소드의 사용권한을 지정해주는 것이다. ►접근제한자의 지정 범위 표 /* --------------------------------------------------------------------------------------------------------------------------- 접근제한자(접근지정자, accessmodifier) 자기자신클래스내부 동일패키지에있는다른클래스 다른패키지에있는하위(자식)클래스 그외의영역 -----------------------------------------..
day-16 초기화 블럭 (initialization block) 초기화 블럭 (initialization block) 이란? "클래스 초기화 블럭" 과 "인스턴스 초기화 블럭" 두 가지가 있다. 인스턴스 초기화 블럭은 클래스 안에 {} 을 넣어주면 된다. 주로 공통으로 실행할 코드를 넣어준다. 클래스 초기화 블럭은 static {} 을 해주면 된다. 주로 환경설정시에 사용한다. 코드의 재사용성을 높여주고 중복을 제거하여 유지 및 보수에 용이하다는 장점이 있다. 초기화의 시점 클래스 변수 : 클래스가 처음 로딩 될 때 한번만 인스턴스 변수 : 인스턴스가 생성될 때마다 부모 클래스 package my.day16.c.block; public class Parent { public Parent() { Syst..
day-16 super() 생성자 (super constructor) super() 생성자 란? 같은 클래스에 있는 다른 생성자를 호출할 때 사용하는 this() 처럼 상속에서 부모 클래스의 생성자를 호출할 때는 super()를 사용한다. super() 는 부모 클래스의 기본 생성자를 의미한다. 부모클래스의 기본 생성자는 생략하더라도 무조건 호출 되어진다. 코드블럭 안의 코드를 통해 확인해보자. 부모 클래스의 생성자 ckage my.day16.b.superConstructor; public class Parent { // field String id; String passwd; // 부모클래스의 기본 생성자 public Parent() { id = "eomjh"; passwd = "1234"; Syste..