독서하는 개발자's Blog

반응형

자바에 관한 몇가지 중요한 사실들 정리

[필드의 구분]

필드란?

클래스에 포함된 변수를 의미.

선언 위치에 따라서 클래스 변수 / 인스턴스 변수 / 지역 변수로 나뉜다.


1
2
3
4
5
6
7
8
9
10
11
12
13
class Car {
 
    static int modelOutput; // 클래스 변수
 
    String modelName;       // 인스턴스 변수
 
    void method() {
 
        int something = 10// 지역 변수
 
    }
 
}
cs

 변수

생성 시기 

소멸 시기 

저장 메모리 

사용 방법 

 클래스 변수

클래스가 메모리에 올라갈 때 

프로그램이 종료될 때 

메소드 영역 

클래스이름.변수이름 

 인스턴스 변수

인스턴스가 생성될 때 

인스턴스가 소멸할 때 

힙 영역 

인스턴스이름.변수이름 

 지역 변수

블록 내에서 변수의 선언문이 실행될 때 

블록을 벗어날 때 

스택 영역 

변수이름 

사용 방법에 대한 설명

클래스 변수 사용 방법 : Car.modelOutput

인스턴스 변수 사용 방법 : Car car = new Car();

car.modelName

지역 변수 사용 방법 : method() 메소드 안에서 사용


[Object 클래스]

자바에서 모든 클래스의 부모 클래스.

모든 클래스는 Object 클래스의 모든 필드와 메소드를 상속받는다.

별도로 extends Object를 하지 않아도 사용이 가능하며 toString()이나 clone() 같은 메소드를 바로 사용할 수 있는 이유가 Object클래스의 메소드이기 때문이다.


[String 클래스]

문자열을 위한 클래스이며 java.lang 패키지에 포함.

인스턴스를 한 번 생성하면 그 값을 읽기만 가능, 변경 안됨

String 클래스의 메소드 종류 : 

char charAt(int index)

해당 문자열의 특정 인덱스에 해당하는 문자를 반환함.

int compareTo(String str)

해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교함.

int compareToIgnoreCase(String str)해당 문자열을 인수로 전달된 문자열과 대소문자를 구분하지 않고 사전 편찬 순으로 비교함.
String concat(String str)

해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환함.

int indexOf(int ch)

int indexOf(String str)

해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환함.

int indexOf(int ch, int fromIndex)

int indexOf(String str, int fromIndex)

해당 문자열에서 특정 문자나 문자열이 전달된 인덱스 이후에 처음으로 등장하는 위치의 인덱스를 반환함.
int lastIndexOf(int ch)해당 문자열에서 특정 문자가 마지막으로 등장하는 위치의 인덱스를 반환함.
int lastIndexOf(int ch, int fromIndex)해당 문자열에서 특정 문자가 전달된 인덱스 이후에 마지막으로 등장하는 위치의 인덱스를 반환함.
String[] split(String regex)해당 문자열을 전달된 정규 표현식(regular expression)에 따라 나눠서 반환함.
String substring(int beginIndex)해당 문자열의 전달된 인덱스부터 끝까지를 새로운 문자열로 반환함.
String substring(int begin, int end)해당 문자열의 전달된 시작 인덱스부터 마지막 인덱스까지를 새로운 문자열로 반환함.
String toLowerCase()해당 문자열의 모든 문자를 소문자로 변환함.
String toUpperCase()해당 문자열의 모든 문자를 대문자로 변환함.
String trim()해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거함.
length()해당 문자열의 길이를 반환함.
isEmpty()해당 문자열의 길이가 0이면 true를 반환하고, 아니면 false를 반환함.


[StringBuffer 클래스]

java.lang 패키지에 포함

인스턴스를 한 번 생성하면 그 값을 읽기, 변경, 추가가능

StringBuffer 클래스의 메소드 종류 :

append()...11가지 / capacity() / delete(int start, int end) / deleteCharAt(int index) / insert()... 10가지


[Math 클래스]

java.lang 패키지에 포함

수학에서 자주 자용하는 상수, 함수들을 미리 구현해 놓은 클래스

Math 클래스의 메소드 종류 :

random() / abs() / ceil() / floor() / round() / rint()/ max() / min() / pow() / sqrt() / sin() / cos() / tan() / toDegrees() / toRaidans()


[컬렉션 프레임워크란?]

다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합

컬렉션 프레임워크는 자바 인터페이스를 사용하여 구현된다.

데이터를 저장하는 자료 구조에 따라 List / Set / Map 인터페이스가 있으며 이 중에 List와 Set인터페이스는 모두 Collection 인터페이스를 상속받는다.


* 주요 인터페이스의 특징

인터페이스 

설명 

구현 클래스 

List<E> 

순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다. 

 Vector, ArrayList, LinkedList, Stack, Queue

Set<E>

순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음.

HashSet, TreeSet 

Map<K, V>

키와 값의 한 쌍으로 이루어지는 데이터의 집합, 순서가 없다.

키는 중복을 허용안함, 값은 중복을 허용 

HashMap, TreeMap, Hashtable, Properties 

Collection 인터페이스에서 제공하는 주요 메소드

boolean add(E e)해당 컬렉션(collection)에 전달된 요소를 추가함. (선택적 기능)
void clear()해당 컬렉션의 모든 요소를 제거함. (선택적 기능)
boolean contains(Object o)해당 컬렉션이 전달된 객체를 포함하고 있는지를 확인함.
boolean equals(Object o)해당 컬렉션과 전달된 객체가 같은지를 확인함.
boolean isEmpty()해당 컬렉션이 비어있는지를 확인함.
Iterator<E> iterator()해당 컬렉션의 반복자(iterator)를 반환함.
boolean remove(Object o)해당 컬렉션에서 전달된 객체를 제거함. (선택적 기능)
int size()해당 컬렉션의 요소의 총 개수를 반환함.
Object[] toArray()해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환함.


Map 인터페이스에서 HashMap클래스가 제공하는 메소드

void clear()해당 맵(map)의 모든 매핑(mapping)을 제거함.
boolean containsKey(Object key)해당 맵이 전달된 키를 포함하고 있는지를 확인함.
boolean containsValue(Object value)해당 맵이 전달된 값에 해당하는 하나 이상의 키를 포함하고 있는지를 확인함.
V get(Object key)

해당 맵에서 전달된 키에 대응하는 값을 반환함.

만약 해당 맵이 전달된 키를 포함한 매핑을 포함하고 있지 않으면 null을 반환함.

boolean isEmpty()해당 맵이 비어있는지를 확인함.
Set<K> keySet()해당 맵에 포함되어 있는 모든 키로 만들어진 Set 객체를 반환함.
V put(K key, V value)해당 맵에 전달된 키에 대응하는 값으로 특정 값을 매핑함.
V remove(Object key)해당 맵에서 전달된 키에 대응하는 매핑을 제거함.
boolean remove(Object key, Object value)해당 맵에서 특정 값에 대응하는 특정 키의 매핑을 제거함.
V replace(K key, V value)해당 맵에서 전달된 키에 대응하는 값을 특정 값으로 대체함.
boolean replace(K key, V oldValue, V newValue)해당 맵에서 특정 값에 대응하는 전달된 키의 값을 새로운 값으로 대체함.
int size()해당 맵의 매핑의 총 개수를 반환함.


코딩 배우기 좋은 사이트

출처 : http://tcpschool.com/

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band