일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 디자인
- 재택근무
- 디자인패턴
- 패캠챌린지
- 자바기본
- java
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- DB
- 자바연습문제
- javabasic
- linux
- js
- 데이터베이스
- java기초
- 리눅스
- 직장인자기계발
- 자바예제
- String
- 패스트캠퍼스후기
- 국비
- Spring
- 웹
- 패스트캠퍼스
- ncs
- 자바기초
- 스프링
- 직장인인강
- DesignPattern
- Today
- Total
목록한번에끝내는JavaSpring웹개발마스터초격차패키지Online (31)
FIF's 코딩팩토리
자바에서 제공되는 자료구조 구현 클래스들 - 컬렉션 프레임 워크 컬렉션 프레임 워크란? 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리이다. 컬렉션 프레임 워크는 java.util 패키지에 구현되어 있다. 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있다. 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요하다. Collection 인터페이스 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스이다. 하위에 List와 Set 인터페이스가 있다. List 인터페이스 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스이다. 자료구조 리스트 (배열, 연결리스트)의 구현을 위한 인터페이스이다. List는 중복을 허용한..
무엇이든 담을 수 있는 제네릭(Generic) 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가진다 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. 2. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다. JDK 1.5 이전에서는 여러 타입을 사용하는 대부분의 클래스나 메소드에서 인수나 반환값으로 Object 타입을 사용했다. 하지만 이 경우에는 반환된 Object 객체를 다시 원하는 타입으로 타입 변환해..
연결 리스트(Linked List) 연결 리스트(Linked List)란 유연하게 크기 변경이 가능한 자료구조를 말한다 데이터를 자유롭게 삽입 삭제 할수 있다는 장점이 있다. 집합의 단위를 리스트(List), 각 요소의 단위를 노드(Node)라고 한다. 연결 리스트(Linked List)의 구성 리스트는 노드와 노드가 연결(Link)된 형태로 되어 있다. 각 노드는 데이터의 내용을 담는 부분과 다음 노드의 주소값을 갖는 포인터 변수로 구성되어 있다. 리스트의 첫번째 노드를 헤드(Head) 마지막 노드를 테일(Tail)이라고 한다. 단순 연결 리스트(Singly Linked List)는 리스트의 가장 기본적인 형태이다. 다음 사진과 같은 형태이며, 테일의 포인터 변수가 NULL을 가리키는게 특징이다. 배열..
여러가지 자료구조에 대해 알아보자. 자료구조란 무엇인가? 프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들이다. 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 된다. 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있다. 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요하다. 자료구조에는 어떤것들이 있나? 배열 (Array) : 선형으로 자료를 관리, 정해진 크기의 메모리를 먼저 할당받아 사용하고, 자료의 물리적 위치와 논리적 위치가 같다. 연결 리스트 (LinkedList) : 선형으로 자료를 관리, 자료가 추가될 때마다 메모리를 할당 받고, 자료는 링크로 연결됨. 자료의 물리적 위치와 논리적 위치가 다를..
String, StringBuilder, StringBuffer 클래스 Java에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있다. 연산이 많이 않을때는 특별한 이슈가 발생할 가능성이 거의 없지만, 연산횟수가 많아지거나 멀티스레드, 경쟁 상태(Race Condition) 등의 상황이 자주 발생하면 각 클래스의 특징을 이해하고 상황에 맞는 적절한 클래스를 사용해야 한다. String과 StringBuffer와 StringBuilder의 기본적인 차이는 String은 불변(Immutable), StringBuffer와 StringBuilder는 변함(Mutable) 이다. String String 객체는 한번 생성되면 할당된 메모리 공간이 변하지 않..
Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 java.lang 패키지는 자바에서 가장 기본적인 동작을 수행하는 클래스들의 집합이다 따라서 자바에서는 java.lang 패키지의 클래스들은 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있도록 하고 있다. java.lang.Object 클래스 java.lang 패키지 중에서도 가장 많이 사용되는 클래스는 바로 Object 클래스이다. Object 클래스는 모든 자바 클래스의 최고 조상 클래스가 된다. 따라서 자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있다. 이러한 Object 클래스는 필드를 가지지 않으며, 총 11개의 메소드만으로 구성되어 있다. toString() 메소드 ..
인터페이스 사용 이유 저번시간에는 인터페이스가 무엇인지 알아보았다. 그렇다면 인터페이스는 왜 사용 하는가? 클래스나 프로그램이 제공하는 기능을 명시적으로 선언해주는 역할을 한다. 일종의 클라이언트 코드와의 약속이며 클래스나 프로그램이 제공하는 명세(specification)라고 한다. 클라이언트 프로그램은 인터페이스에 선언된 메서드 명세만 보고 이를 구현한 클래스를 사용할 수 있다. 어떤 객체가 하나의 인터페이스 타입이라는 것은 그 인터페이스가 제공하는 모든 메서드를 구현했다는 의미이다. 인터페이스를 구현한 다양한 객체를 사용한다. 인터페이스와 다형성 인터페이스를 활용하여 다형성을 구현한 대표적인 예가 DAO 이다. DAO란 Data Access Ojbect의 약자로 DB에서 데이터에 접근하는 객체이다...
인터페이스란? 인터페이스의 본질을 알아보기전에 간단하게 OOP에 대해서 다시 정리하고 넘어가자. OOP는 변경에 유연한 설계기법이다. OOP에서 자주 나오는 용어에는 다형성이 있다. 다형성은 상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해주는 것을 의미한다. 다형성이 가능하도록 OOP세계에서는 상속,추상화,인터페이스라는 개념이 등장한다. 상속 정의는 부모 클래스의 모든 멤버를 하위 클래스가 물려 받는 것이다. 단, IS A 관계가 성립해야 한다. 아무런 규약 없이 상속을 하게 되면 객체간에 강한 결합을 가지게 된다. 추상화 데이터나 프로세스 등을 의미가 비슷한 개념이나 표현으로 정의해 나가는 과정을 의미한다. 각 개별 개체의 구체적인 구현에 대한 상세함은 갖추는 것을 의미한다. 인터페이스 모든 ..