Java(9)
-
[JAVA]컬렉션 프레임워크(Collections Framework)
1. 컬렉션 프레임워크(Collections Framework) 1-1. 정의 컬렉션 프레임워크란, '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다. JDK1.2부터 등장했으며, 컬렉션을 다루는 데 필요한 다양한 컬렉션 클래스들을 제공한다. 더보기 컬렉션(Collection) : 다수의 데이터, 데이터 그룹 프레임워크(Framework) : 표준화된 프로그래밍 1-2. 컬렉션 프레임워크의 장점 컬렉션 프레임워크의 장점으로는 다음이 있다. 더 많은 장점에 대해서는 Collections Framework Overview에서 확인가능하다. 가변적인 저장 공간을 제공(배열의 단점을 보완) 배열은 고정적인 저장 공간을 제공하기에 정해진 크기를 넘어가는 데이터를 저장할 수 없다 배열은 데이터가 비어있으면..
2023.01.15 -
[JAVA] HashMap을 키(key), 값(value) 기준으로 정렬하는 방법
백준 1339 단어 수학 문제를 풀다가 HashMap을 Value 기준으로 정렬하고자 HashMap 정렬에 대해 찾아보게 되었다. HashMap은 키와 값 기준으로 정렬이 가능한데, 그 방법에 대해 알아보자. HashMap이란 HashMap은 입력하는 데이터의 순서를 보장하지 않는다. 또한, HashMap은 키의 해시 값을 기준으로 각 entry를 정렬할 뿐, 키와 값 기준으로 정렬되지는 않는다. 따라서 HashMap을 키와 값을 기준으로 정렬하기 위해서는 다른 자료구조를 이용해야만 한다. 1. Comparator 사용 comparator를 람다로 구현하여 오름차순, 내림차순 정렬할 수 있다. 내림차순의 경우 순서만 바꿔주면 된다. 1-1. key 값 정렬 이 경우, map의 keySet을 이용하여 정렬..
2023.01.06 -
[JAVA] 객체지향 프로그래밍2
1. 상속(Inheritance) 1-1. 상속의 개념 - 상속이란, 기존 클래스의 변수와 메서드를 물려받아 기존 클래스를 재사용한 새로운 클래스를 구성하는 것임. - 즉, 연관있는 클래스의 공통적인 구성요소를 정의하여 대표하는 클래스(부모 클래스)를 만듦. - 자식 클래스는 상속을 통해 부모 클래스의 특징을 물려받아 사용함으로써 1.코드의 중복 제거 2. 코드의 재사용성 의 이점을 얻을 수 있음. 조상 클래스 : 부모 클래스, 상위 클래스, 기반 클래스 - 자손 클래스에게 어떠한 영향도 받지 않음 자손 클래스 : 자식 클래스, 하위 클래스, 파생된 클래스 - 조상 클래스의 모든 멤버를 상속받으므로 항상 조상클래스보다 같거나 큰 멤버를 가짐 - 단, 상속자와 초기화 블록은 상속되지 않음 - 상속을 '확장..
2023.01.03 -
[JAVA] 객체지향 프로그래밍
0. 객체지향언어의 주요특징 1. 코드의 재사용성 : 새로운 코드 작성 시 기존 코드 이용 가능 2. 코드의 관리가 용이 : 쉽게 코드 변경 가능 3. 신뢰성이 높은 프로그래밍의 가능 : 코드의 중복 제거 가능 1. 클래스와 객체 클래스 쉽게 말해, '객체의 설계도'. 객체를 정의해놓은 것으로, 객체를 생성하는 데 사용되는 수단. 객체 쉽게 말해, '실제로 존재하는 것'. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 말함. 프로그래밍에서는 먼저 클래스를 작성하여, 클래스로부터 객체를 생성해 생성된 객체를 사용함. 1-1.객체와 인스턴스 클래스로부터 객체를 만드는 과정 → 클래스의 인스턴스화(instantiate) 클래스로부터 만들어진 객체 → 클래스의 인스턴스(instance) ..
2023.01.03 -
[명품 Java Programming] 5장 Open Challenge
** 해당 문제가 수록된 장까지의 교재 내용만을 이용하여 소스코드를 작성하였습니다** 소스코드 import java.util.*; abstract class GameObject{ protected int distance; protected int x, y; public GameObject(int startX, int startY, int distance) { this.x= startX; this.y= startY; this.distance = distance; } public int getX() {return x;} public int getY() {return y;} public boolean collide(GameObject p) { if(this.x ==p.getX()&&this.y ==p.getY..
2022.01.07 -
[명품 Java Programming] 4장 실습문제
**모든 소스코드는 해당 문제가 수록된 장까지의 교재 내용만을 이용하여 작성하였습니다** [4-1] 자바 클래스 작성 연습을 해보자. 다음 main( )메소드를 실행하였을 때 예시와 같이 출력되도록 TV 클래스를 작성하여라. 소스코드 class TV{ String company; int year, inches; public TV() {} public TV(String company, int year, int inches) { this.company = company; this.year = year; this.inches = inches; } public void show() { System.out.println(company + "에서 만든 " + year + "년형 " + inches + "인치 TV"..
2022.01.06