일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 예외던지기
- 알고리즘
- 자바
- Java
- super 생성자
- 부모 생성자
- 국비지원
- AoutoBoxing
- 상속
- 클래스의구조
- do~while문
- 독학
- 코딩
- 캐스팅연산자
- 백앤드
- 취준생
- userDefineException
- 추상화
- 예외처리
- Calendar Class
- exception
- 프로그래머스
- 개발
- 개발자
- for문
- Date Class
- 생성자
- 사용자 정의 예외처리
- 비전공자
- 가위바위보프로그램
- Today
- Total
목록Java (30)
유난스런 개발 기록
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을 제외한 나머지 접근제한자는 생소할 수 있을 것이..
day-12 추상화 (abstraction) 추상화 (abstraction) 란? 프로그램이 필요로 하는 실제 데이터들을 모델링하는 기술 일반적인 의미의 추상화란 어떤 물체(object)에서 주된 특징을부각시켜 표현하고, 나머지 부분은 과감하게 생략하는 것을 말한다. 추객체지향 프로그래밍(OPP)에서 사용 되는 추상화도 이와 비슷하다. 어떤 하나의 물체를 대표하는 속성(멤버변수 등)과 기능(메소드)를 추출해내는 것 이것을 객체지향 프로그래밍(OPP)에서 추상화(abstraction)라고 한다. 예를 들어, 구인구직 어플리케이션을 프로그래밍 할 때, 필요한 부품(요소) 중 하나인 "구직자"에 대해서 알아보자. "구직자"가 가지고 있는 속성과 행동양식을 뽑아내면, 속성(property, attribute, ..
day-11 캘린더 클래스 (Calendar Class) & 데이트 클래스(Date Class) Calendar Class(캘린더 클래스)란 ? 자바에서 날짜를 나타낼 때는 Date, Calendar 를 사용한다. Calendar 클래스는 Date 클래스를 조금 더 향상시켜 나온 것이다. 간단한 날짜를 표현할 때는 Date 클래스가 나을 수 있다. 하지만 두 개의 날짜 간의 연산을 할 경우 메소드기능이 더 많이 추가 된 Calendar 클래스가 더 나을 수 있다. Calendar Class를 알아보기 전, 먼저 Date Class를 사용해보자. Date Class package my.day11.c.calendar; import java.util.Date; import my.util.MyUtil; publ..
day-10 String 클래스 String 클래스란? String 클래스는 문자열을 보다 쉽게 활용할 수 있는 다양한 클래스를 제공한다. java.lang 패키지에 포함되어 있어서. 해당 패키지를 import하면 패키지 안에 포함된 모든 클래스를 이용할 수 있다. 하지만 실제로 java.lang 패키지에 있는 클래스들은 import를 하지 않고 이용할 수 있다. 자주 사용하고 알아두면 좋은 String클래스의 method들을 살펴보자. charAt() // === 1. "문자열".charAt(int index) === // "안녕하세요".cahrAt(2) ==> '하' // index => 01234 위의 예시 코드와 같이 charAt() 메소드를 이용할 수 있다. () 안에 인덱스를 입력하면 문자열에..