일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 코딩
- 비전공자
- 부모 생성자
- 사용자 정의 예외처리
- userDefineException
- 독학
- 프로그래머스
- 클래스의구조
- do~while문
- 취준생
- exception
- 백앤드
- 자바
- 개발자
- 국비지원
- 가위바위보프로그램
- 캐스팅연산자
- AoutoBoxing
- Calendar Class
- 추상화
- 예외던지기
- 예외처리
- Java
- Date Class
- 상속
- 알고리즘
- 개발
- 생성자
- super 생성자
- for문
- Today
- Total
목록취준생 (33)
유난스런 개발 기록
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 접근 제어자 (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..
day-15 다형성 (Polymorphism) 다형성 (Polymorphism) 이란? 상속을 이용하여 여러 클래스 타입을 하나의 클래스 타입으로 다루는 기술 쉽게 말하자면 큰 범주의 클래스를 생성하고, 큰 범주에 속하는 작은 범주의 클래스들이 큰 범주 안의 필드와 메소드를 상속 받아 사용할 수 있는 것. 자식클래스로 생성되어진 객체를 부모 클래스 타입으로 받을 수 있다. 자세한 내용은 코드를 통해 확인해보는 것이 이해하기 쉽다. 수업시간 동물을 주제로 실습한 코드를 첨부한다. 패키지의 클래스 구성은 아래와 같다. 부모 클래스 : Animal 자식 클래스 : Dog, Cat, Duck 실행을 위한 메인 클래스 : Main Animal package my.day15.d.polymophism; public ..
day-14 상속성 (Inheritance) 상속성 (Inheritance) 이란? 클래스의 재사용과 소스코드의 중복을 최소화하는 목적으로 사용 상속의 종류는 extends 와 implements 가 있다. 오늘은 extends 에 대해 알아볼 것이다. 부모 클래스와 자식 클래스로 나뉘는데, 부모 클래스의 데이터를 물려 받는 클래스를 자식 클래스라고 한다. 이 때 데이터의 이동은 상위 클래스에서 하위 클래스로만 가능하다 (부모 클래스 -> 자식 클래스) 부모 클래스는 추상 클래스이므로 객체 생성이 불가능하며, 자식 클래스에서 객체를 생성해야한다. 부모 클래스에서 상속 받은 것 이외에 다른 것이 필요하다면, 자식 클래스에서 추가적으로 생성하면 된다. 이 때 부모 클래스로 부터 전달 받은 데이터 중, 메소드..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/p7lv8/btrXt9kVNTS/8vTDn7zCLh0pAbW6ECHLl1/img.png)
day-13 캡슐화 (Encapsulation) 캡슐화 (Encapsulation) 란? 객체지향의 가장 중요한 데이터 보호 기술이다. 클래스(class)에 인스턴스를 생성하고, 멤버변수와 메소드를 외부에서 마음대로 접근하지 못하게 하는 기술이다. 이것을 "은닉화" 라고 한다. 그냥 설명만 들었을 때는 이해하기 어려운 개념이라고 생각한다. 하지만 내가 공부하면서 느낀 바로는 대부분의 내용들은 코드의 흐름을 파악하고 "왜 이런 코드를 작성했을까?" 라는 의문을 가지며 보다보면 대부분 이해하기 수월했다. 캡슐화에서 빼놓을 수 없는 접근제한자에 대해서 먼저 확인을 해보자. 접근제한자의 종류와 접근 가능 범위 아마 자바를 공부한지 얼마 되지 않았다면 public을 제외한 나머지 접근제한자는 생소할 수 있을 것이..