All

Language/Summary

Data Structure#1 - ArrayList

ㆍ자바의 자료구조 - 자바에서의 데이터를 담는 자료 구조를 크게 나누어보면 이렇다. 순서가 있는 목록(List) 형 순서가 중요하지 않은 셋(Set) 형 먼저 들어온 것이 먼저 나가는 큐(Queue) 형 키-값(key-value)로 저장되는 맵(Map) 형 - List, Set, Queue는 'Collection' 인터페이스를 확장하고 있다. - Collection 인터페이스는 Iterable라는 인터페이스를 확장했다. (Iterable 인터페이스를 사용하여 데이터를 순차적으로 가져올 수 있다) - Collection 인터페이스에 선언된 주요 메소드 목록은 다음 오라클 공식문서에서 확인하자. https://docs.oracle.com/javase/8/docs/api/ Java Platform SE 8 d..

Language/Java

[Java] 자바의 객체 비교 메소드 equals 그리고 hashcode (eclipse 메소드 자동 완성)

기본 자료형(byte, int, float, boolean 등)은 "==" 만으로 값이 같은지 확인할 수 있다. 하지만 객체는 == 연산자 만으로 두 객체가 같은지 판단할 수 없다. 객체에 "==" 를 사용할경우, 값이 아닌 주소값을 비교하기 때문이다. equals() - 동등성 비교 후 boolean 값 (true | false)를 반환 (기본 - 주소 비교) hashCode() - 객체의 고유 값(int)을 반환 (기본 - heap에 저장된 객체의 메모리 주소 값) == 연산자 - 기본 자료형의 '값'을 비교하기위해 사용 equals()메소드의 필요성 자바에서 정수 값을 비교하기 위한 연산자는 == 이다. int a = 7; int b = 7; if(a == b) { System.out.println..

Language/Summary

Generic

ㆍ제네릭 - 타입 형 변환에 있어서 야기될 수 있는 문제를 사전에 차단하기 위해 만들어짐 (특정 타입만을 리턴할경우 확장성이 떨어지고 Object로 반환할 경우 일일이 캐스팅을 해줘야함) - 제네릭 클래스를 선언 할 때 클래스명 뒤에 와 같은 형태로 선언 (public class Sample) - 이후 제네릭 클래스의 객체를 생성하거나 리스트와 같은 자료형을 만들 때 안에 자료형을 지정해줌 (Sample sample = new Sample(); List list = new ArrayList();) ==> 객체 생성 시 명시적으로 타입을 지정해주기때문에 일일이 캐스팅을 할 필요가 없음 - 일반적으로 꺾쇠 안에는 기본 규칙이 존재함 (E: 요소(Element, Collection에서 주로 사용) ) K: 키..

Language/Summary

java.lang

ㆍjava.lang - java.lang 패키지는 import를 하지 않아도 사용 가능 - 언어, 문자열, 기본 자료형 및 숫자, 쓰레드, 예외, 런타임 등 다양한 클래스를 제공. - OutOFMemoryError => 메모리가 부족하여 발생하는 에러, StackOverflowError 호출된 메소드의 깊이가 너무 깊을 때 발생 - @Override, @Deprecated, @SuppressWarnings ㆍ기본 자료형 타입의 클래스 - Byte, Short, Integer, Long, Float, Double 감싼(Wrraper) 클래스 / Number 클래스를 확장함. - 참조 자료형이지만 기본 자료형(Primitive Type)처럼 사용 가능(리터럴 값 대입 가능) => 컴파일러에서 자동 형변환해주..

Language/Java

[Java] 상속 : 재사용+확장 (생성자,오버로딩, 오버라이딩, IS-A관계 등)

상속이란 친족간의 어떠한 권리나 의무를 계승, 물려주는 것을 말한다. 자바에서도 상속을 통해 상위 클래스의 속성과 기능들을 하위 클래스에게 물려줄 수 있다. 이를 통해 프로그램의 생산성을 크게 증가 시킬 수 있다. 상속 방법 클래스 상속 방법 class 자식클래스 extends 부모클래스 { } //ex class Doctor extends Job { } 자식 클래스를 선언할때 extends 예약어를 이용하여 부모 클래스를 뒤에 붙여주면 부모 클래스에 있는 모든 메소드와 변수를 자식 클래스에 존재하는 것 처럼 사용할 수 있다. 예제 코드를 통해 살펴보자 class Job { public int type; public void setType(int type) { this.type = type; System..

Language/Java

[Java] Static 정리 (static 변수, static 메소드, static 블록, import static)

자바는 객체지향 언어로써 모든 변수와 메소드가 객체 안에 저장된다. 따라서, 다른 클래스의 변수와 메소드를 사용하기 위해서 객체를 생성해야 한다. 하지만, static 예약어를 사용하면 객체 생성 없이 바로 변수와 메소드를 사용할 수 있다. static 변수 static 예약어를 사용하면 객체 생성 없이 클래스에 선언된 변수에 접근할 수 있다. 이와 같이 클래스내부, 메소드 바깥에 static으로 선언된 변수를 "클래스 변수" 또는 정적 변수라고도 한다. (클래스내부, 메소드 바깥에 static으로 선언되지 않은 변수를 "인스턴스 변수"라고 한다.) static 변수 선언방법은 다음과 같다. static 변수 선언 방법 접근 제어자 static 자료형 "변수명" //ex public static int ..

KAispread
'분류 전체보기' 카테고리의 글 목록 (19 Page)