목록빅데이터/JAVA (37)
Practice makes perfect
컬렉션 프레임워크 (Collection Framework)란? : 잘 정의된, 약속된 구조와 골격 , 인스턴스의 저장과 참조를 위해 잘 정의된, 클래스들의 구조 의미합니다. 컬렉션 프레임워크라는 이름이 사용되는 이유: 4가지의 자료형이 성격에 따라서 구현된 코드들이 자료형의 이름만 변경하더라도 수행되도록 체계화 되어 있기 때문입니다. Collect List Set ArryList LinkedList HashSet TreeSet ● List 1. 데이터의 중복을 허용합니다. (데이터 = 인스턴스) 2. 데이터를 저장할 때 저장 순서를 유지하여 관리합니다. 3. ArryList / LinkedList List의 구조를 상속받는 구조이기 때문에 Set을 특징을 그대로 물려받습니다. ● ArryList / Li..

제네릭(Generics)이란? : 특정 타입만 다루지 않고, 여러 종류의 타입으로 변신할 수 있도록 클래스나 메소드를 일반화시키는 기법입니다. 재네릭의 장점 1. 타입 안정성을 제공해줍니다. 2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해 집니다. - Generics 사용하기 이전에 범용적으로 사용할 수 있는 변수로 Object를 배웠습니다. Object여러 참조자료형을 사용해보도록 하겠습니다. - 자료형 class FruitBox { Object item; public void store(Object item) {this.item = item;} public Object pullOut() {return item;} } class Apple { int weight; // 사과의 무게 Apple..
Calendar 클래스 : 날짜를 읽어오는 클래스입니다. Calendar는 추상 클래스 이기 때문에 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 합니다. Calendar today = new Calendar(); error!! 추상클래스는 인스턴스를 생성할 수 없습니다. Calendar today = Calendar.getInstance(); .getInstance() 메서드는 Calendar 클래스를 구현한 클래스의 인스턴스를 반환해줍니다. 추가적으로 설명을하면, 인스턴스를 직접 생성해서 사용하지 않고 이처럼 메서드를 통해서 인스턴스를 반환하게 하는 이유는 최소한의 변경으로 프로그램이 작동할 수 있도록 하기 위한 것입니다. ● 현재 날짜, 시간, 년, 월, 일..

Wrapper 클래스란? :자바의 기본 타입(자료형)을 클래스화시키는 것입니다. 쉽게 이야기해서 기본 자료형을 class를 입혀서 참조변수 처럼 사용할 수 있게 말하는 것을 의미합니다. - 원칙적으로 보면 int, String와 같은 기본자료형으로 Object 를 상속 받지 않으므로 error 를 내야하지만 기본 자료형을 Object에 입력으로 전달하고 싶을 때 wrapper로 사용하면 error 없이 편리하게 사용할 수 있습니다. ● 기본 타입의 값으로 Wrapper 객체 생성 Integer i = new Integer(10); Character c = new Character(‘c’); Double f = new Double(3.14); Boolean b = new Boolean(true); 박싱(b..

Object 클래스 - java.lang 패키지에 포함합니다. - 모든 클래스의 수퍼 클래스 입니다. - 모든 클래스에 강제 상속합니다. - 모든 객체가 공통으로 가지는 객체의 속성을 나타내는 메소드 보유하고 있습니다. 예시) class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; } } public class ObjectPropertyEx { public static void print(Object obj) { System.out.println(obj.getClass().getName()); // 클래스 이름 System.out.println(obj.hashCode()); // 해시 코드 값 System.out.print..
지금까지 예외처리를 하기위해서 사용했던 것으로는 조건문(if, switch)등을 통해서 예외를 처리했습니다. 이러한 조건을 통한 예외 말고도 예외라는 말은 다른 뜻으로 사용합니다. 그것은 사용자(개발자)의 잘못된 조작이나 잘못된 코딩으로 인해 발생하는 프로그램 오류를 예외(exception)라고 사용합니다. 그렇다면 지금까지 사용했던 예외 처리인 if 문을 잠깐 보고 추가 적인 예외 문들을 보도록 하겠습니다. ● if문을 이용한 예외처리 - 나눗셈 package 예외처리; import java.util.Scanner; public class 예외처리{ public static void main(String[] args) { Scanner input = new Scanner(System.in); Syste..

Abstract class 란? 1. 추상 메소드를 하나라도 가진 클래스이며, 클래스 앞에 반드시 abstract라고 선언해야 합니다. abstract class Shape { // 추상 클래스 선언 public Shape() { } public void paint() { draw(); } abstract public void draw(); // 추상 메소드 } 2. 추상 메소드가 하나도 없지만 abstract로 선언된 클래스 입니다. abstract class MyComponent { // 추상 클래스 선언 String name; public void load(String name) { this.name = name; } } 그렇다면 추상 메소드(abstract method)란 무엇일까요? public..

메서드 오버라이딩(Method Overriding)이란? : 부모 클래스 메소드의 이름, 매개변수 타입 및 개수, 리턴 타입 등 모든 것 동일하게 작성하는 것입니다. 쉽게 말해서 메소드 무시하기, 덮어쓰기로도 이야기 할 수 있습니다. ● 오버라이딩(Overriding) - 오버라딩의 조건 : 상속 관계라는 전제하에 상위 클래스에 정의된 메소드의 이름, 반환형, 매개 변수 선언까지 완전히 동일한 메소드를 하위 클래스에서 다시 정의합니다. - 부모 클래스에 선언된 메소드를, 각 자식 클래스들이 자신만의 내용으로 새로 구현하는 기능 입니다. - 상속을 통해 '하나의 인터페이스(같은 이름)에 서로 다른 내용 구현'이라는 객체 지향의 다형성 실현합니다. - 다형성 : 다형성이란 같은 자료형에 여러 가지 객체를 대..