<객체지향 프로그래밍 48장~52장>
String, Wrapper 클래스
String 클래스 선언하기
1. String str1 = new String("abc"); // 인스턴스로 생성됨
2. String str2 = "abc"; // 상수풀에 있는 문자열을 가리킨다.
String은 immutable (불변한다.)
한번 선언되거나 생성된 문자열을 변경할 수 없음.
String 클래스의 concat() 메서드 혼은 "+"를 이용하여 String을 연결하는 경우 문자열은 새로
생성 된다.
그러면 String을 계속 연결해서 쓸 경우 어떻게 하는게 좋냐?
StringBuilder 와 StringBuffer
기본적인 char[] 배열을 멤버변수로 가지고 있는 클래스
문자열을 변경하거나 연결하는 경우 사용하면 편리한 클래스
StringBuffer는 멀티 쓰레드프로그래밍에서 동기화가 보장된다.
단일 쓰레드 프로그래밍에서는 StringBuffer를 사용하는것이 더 좋다.
Wrapper 클래스
기본 자료형에 대한 클래스
컬렉션 프레임 워크 ( 알고리즘을 구현되어있는 라이브러리 )
-제네릭프로그래밍
변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형을 변환
될 수 있도록 프로그래밍 하는 방식.
컬렉션 프레임워크
- 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리 java.util 패키지에
구현되어 있음
- 개발에 소요되는 시간을 절약하고 최적화된 라이브러리를 사용할 수 있음
Collection 인터페이스와 Map 인터페이스로 구성됨
Collection 인터페이스
하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메서드가 신언되어 있음.
Map 인터페이스 ( hash 맵, Tree맵 등)
쌍으로 이루어진 객체를 관리하는데 필요한 여러 메서드가 선언되어 있음
Map을 사용하는 객체는 key-value 쌍으로 되어 있고 key는 중복될 수 없음.
List 인터페이스
Collection 하위 인터페이스
객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스
배열의 기능을 구현하기 위한 메서드가 선언됨. ( ArrayList, Vector, LinkedList )
Stack과 Queue 구현
-Stack 구현하기
Last In First Out (LIFO) : 맨 마지막에 추가 된 요소가 가장 먼저 꺼내지는 자료구조
ArrayList나 LinkedList로 구현 가능
ex) 게임에서 무르기, 최근 자료 가져오기 등에서 구현
-Queue 구현하기
First In First Out (FIFO) : 먼저 저장된 자료가 먼저 꺼내지는 자료구조
선착순, 대기열 등을 구현할 때 가장 많이 사용되는 자료구조
ArrayList나 LinkedList로 구현 가능
'백엔드 > Java' 카테고리의 다른 글
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.24 |
---|---|
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.23 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.18 |
<FAST CAMPUS>자바 웹개발-객체지향 프로그래밍 (0) | 2021.01.12 |
<FAST CAMPUS>자바 웹개발 - 객체지향 프로그래밍 (0) | 2021.01.10 |
댓글