일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 독학
- 국비지원
- 캐스팅연산자
- 추상화
- 예외처리
- for문
- 백앤드
- 생성자
- 프로그래머스
- userDefineException
- exception
- 부모 생성자
- 비전공자
- 개발자
- 클래스의구조
- 상속
- super 생성자
- AoutoBoxing
- 취준생
- 가위바위보프로그램
- 자바
- 개발
- 예외던지기
- Java
- 사용자 정의 예외처리
- Calendar Class
- do~while문
- Date Class
- 코딩
- Today
- Total
목록전체 글 (40)
유난스런 개발 기록
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-11 StringBuilder & StringBuffer StringBuilder 와 StringBuffer를 사용하는 이유 ? String 클래스의 가장 큰 특징은 불변성(immutable) 이다. 즉 String 클래스를 사용하여 메모리를 할당하면, 새로운 문자열을 추가 할 때 기존의 메모리를 수정하는 것이 아니라 아예 새로운 메모리를 할당하기 때문에 자원의 낭비가 일어난다. 이러한 이유 때문에 문자열의 변경이 많다면 StringBuilder & StinrgBuffer를 사용하는 것이 효율적이다. 아래의 예시 코드와 같이 String을 사용한 경우를 확인해보자. package my.day11.b.stringbuilder; public class StringBuilder_main { public..
day-10 String 클래스 String 클래스란? String 클래스는 문자열을 보다 쉽게 활용할 수 있는 다양한 클래스를 제공한다. java.lang 패키지에 포함되어 있어서. 해당 패키지를 import하면 패키지 안에 포함된 모든 클래스를 이용할 수 있다. 하지만 실제로 java.lang 패키지에 있는 클래스들은 import를 하지 않고 이용할 수 있다. 자주 사용하고 알아두면 좋은 String클래스의 method들을 살펴보자. charAt() // === 1. "문자열".charAt(int index) === // "안녕하세요".cahrAt(2) ==> '하' // index => 01234 위의 예시 코드와 같이 charAt() 메소드를 이용할 수 있다. () 안에 인덱스를 입력하면 문자열에..
day-9 2차원 배열 2차원 배열 (TwoDimensionArray)이란? 1차원 배열과 동일하지만 하나의 배열이 더 추가된 것이다. 1차원 배열은 배열 첨자 '[]' 가 한번 나오지만 2차원 배열은 두번 나온다. 배열 첨자 첫 번째는 배열의 가로줄(행)을, 두 번째는 세로줄(열)의 수를 의미한다. // 2차원 배열의 선언 int[][] example; // 2차원 배열 객체 할당 example = new int[n][n]; // 2차원 배열의 기본 형태, 변수 선언과 객체 할당을 동시에 int[][] exmaple = new[n][n]; 위의 코드와 같이 2차원 배열을 선언할 수 있다. 2차원 배열은 배열 속에 배열이 있는 것이기 때문에 1차원 배열을 이해했다면 어렵지 않게 이해할 수 있다. 수업 시..