전체 글
-
[Java] Set 컬렉션 클래스프로그래밍/JAVA 2022. 8. 9. 22:17
set 컬렉션 클래스는 순서가 없는 데이터들의 집합으로 데이터의 중복을 허용하지않는 특징을 가지고 있다. 대표적인 set 컬렉션 클래스는 HashSet, TreeSet가 있고 하나씩 알아보자. HashSet 클래스 JDK 1.2부터 제공하여 해시 알고리즘을 사용하여 검색 속도면에서 굉장한 장점을 보인다. 데이터를 중복해서 저장할 수 없으며 저장 순서가 유지되지않는다. 만일 데이터에 중복된 값을 저장하려하면 자동으로 제거한다. 중복 제거 과정 hashcode()를 이용하여 저장되어 있는 객체들의 해시 코드 값을 비교 equals()로 두 객체를 비교해서 true 가 나오면 동일한 객체로 판단 HashSet 참조변수 = new HashSet(); add() : 요소를 추가 size() : 요소의 개수를 반환..
-
[Java] List 컬렉션 클래스프로그래밍/JAVA 2022. 8. 9. 22:08
List 컬렉션 클래스는 순서가 있는 데이터들의 집합으로 데이터의 중복을 허용하는 특징을 가지고 있다. 대표적인 List 컬렉션 클래스는 Vector, ArrayList, LinkedList, Stack, Queue가 있고 하나씩 알아보자. Vector 클래스 vector 클래스는 자바 1.0부터 존재하는 레거시 클래스로 배열과 동일하게 정수 인덱스를 이용하여 액세스 할 수 있고 동적인 길이로 여러 데이터형을 저장하기 위해 사용된다. 동기화가 되어 있으며 한번에 하나의 스레드만 벡터의 메소드를 호출 할 수 있다. Vector 참조변수 = new Vector(요소의 개수); addElement() : 요소를 추가 size() : 요소의 개수를 반환 capacity() : 현재 벡터에 저장 가능한 크기를 반..
-
[Java] 컬렉션 프레임워크(collection framework)프로그래밍/JAVA 2022. 8. 9. 21:17
자바는 널리 알려져 있는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색 할 수 있도록 인터페이스(interface)와 구현 클래스를 java.util 패키지에서 제공한다. 여러가지 데이터를 메모리에서 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스들의 집합인 이것을 총칭해서 컬랙션 프레임워크라고 부른다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 자료구조 - 데이터를 효율적으로 관리할 수 있는 데이터 구조를 의미 - 데이터의 특성에 따라 체계적으로 구조화 알고리즘 - 어떤 문제를 풀기 위한 절차 및 방법 - 어떤 문제에 대해 입력을 넣으면 원하는 출력을 얻을 수 있도록 만드는 프로그래밍 컬렉션 프레임워크은 인터페이..
-
[Java] 인터페이스(interface)프로그래밍/JAVA 2022. 8. 8. 22:46
자바는 다중상속을 지원하지 않으므로 인터페이스를 사용해서 다중상속을 구현할 수 있다. 인터페이스는 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 매개 역할을 담당하는 일종의 추상클래스와 비슷한 개념을 가지고 있다. 인터페이스는 추상 메소드와 상수만을 포함 할 수 있고 JDK8이상부터는 인스턴스 메소드, static메소드도 포함한다. 인터페이스는 다중 상속뿐만 아닌 장점도 존재한다. 개발 시 일관되고 정형화된 개발을 위한 표준화가 가능하고 개발시간 단축의 이점이 있다. 인터페이스 선언 인터페이스를 선언하기 위해서는 interface 키워드를 사용한다. 접근제어자 interface 인터페이스명{ // 인터페이스의 모든 필드는 public static final // 인터페이스의 ..
-
[Java] 추상 클래스(abstract class)프로그래밍/JAVA 2022. 8. 8. 22:04
추상 클래스는 클래스의 용도가 객체 생성 용도로 사용할 수 없고 반드시 자식 클래스에서 오버라이딩하여 구현해야 하는 추상 메소드를 한개 이상 가지고 있는 클래스이다. 추상클래스의 역할은 변수의 타입으로 선언하는 용도와 상속의 본연의 기능으로 특정한 코드를 하위 클래스로 물려주기 위해 생성한다. 예를 들어 추상클래스에서 공통되는 부분을 미리 만들어 놓고 자식 클래스에서 필요한 부분을 재정의하여 사용함으로써 생산성이 향상되고 배포가 용이해진다. 추상 클래스는 자식 클래스에서 상속을 해야 사용 가능하기 때문에 자식 클래스는 다른 클래스를 상속 받을 수 없다.(자바의 단일 상속 규칙) 추상 클래스 선언 abstract class Abstract1 { // 추상클래스를 만드려면 적어도 1개 이상의 추상 메소드가 ..
-
[Java] Wrapper class프로그래밍/JAVA 2022. 8. 8. 21:49
래퍼 클래스(Wrapper class)는 기본 타입의 데이터를 객체로 취급해야할 경우 객체로 포장해주는 클래스이다. 래퍼 클래스는 java.lang 패키지에서 제공하는 기능이다. 데이터 타입 byte -> Byte short -> short int -> Integer long -> Long float -> Float double -> Double char -> Character boolean -> Boolean 박싱(Boxing) 박싱은 기본 타입 데이터를 래퍼클래스로 변환하는 과정을 의미한다. int num = 10; Integer i = new Integer(num); // 기본 타입 -> 래퍼클래스 언박싱(UnBoxing) 언박싱은 래퍼 클래스를 기본 타입 데이터로 변환하는 과정을 의미한다. int..
-
2022년 버킷리스트일상 2022. 8. 8. 12:36
지금이라도 올해 하고 싶은 일을 적어보자. [남은 하반기 목표] 자격증(공부) 1. 데이터 분석 준전문가(ADsp) 취득하기(시험 일자 : 8.28일) 2. SQLD 취득하기(4분기 예정) 3. 중국어 hsk5급 준비하기 1) 출퇴근 시간&산책시간 이용하여 중국어 단어 외우기 2) 내년 상반기에는 hsk 5급 응시 일상 1. 서핑하기🏄♂️🏄♂️ 2. 여행가기 1) 해외여행도 좋지만 아직 코로나 위험이 있으니 제주도로 만족 3. 스키장 가기 4. 운동 계속 유지하기 내년에 할 일 1. 빅데이터 분석 기사(상반기) 취득 2. 네트워크 관리사 취득(하반기) 3. hsk 5급 취득(상반기) & 중국어 공부 4. 해외여행가기(가까운 곳이라도) 5. 페러글라이딩 해보기 고통은 잠깐이지만 그 가치는 위대하다. 당..
-
[Java] 다형성(polymorphism)프로그래밍/JAVA 2022. 8. 7. 13:43
다형성은 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다. 참조 변수의 다형성 부모클래스 타입의 참조 변수로 자식클래스 타입의 인스턴스를 참조할 수 있다. class Parent { ... } class Child extends Parent { ... } ... Parent parent = new Child(); 이때 참조 변수가 사용할 수 있는 멤버의 개수가 실제 인스턴스의 멤버 개수보다 같거나 적어야 참조할 수 있다는 규칙이 존재한다. class Parent { ... } class Child extends Parent { ... } ... Child child = new Parent(); 위와 같이 쉽게 얘기하자면 자식클래스 타입의 참조 변수로 부모클래스 타입의 인스턴스를 참조할 없다는..