Java

Problem Solving

[Java] Requirements Q093: Note Class Design

📌Q093 Class package com.test.question.q93; public class Q093 { public static void main(String[] args) { /* ● 요구사항 Note 클래스를 설계하시오. ● 조건 - Note 객체의 정보 - 크기, 표지 색상, 페이지수, 소유자이름, 가격 - 모든 멤버 변수의 접근 지정자는 private으로 한다. - 멤버 접근을 위한 Setter와 Getter를 정의한다. - 크기 : 쓰기 전용, A3, A4, A5, B3, B4, B5 - 표지 색상 : 쓰기 전용, 검정색, 흰색, 노란색, 파란색 - 페이지수 : 쓰기 전용, 10 ~ 200페이지 이내 - (+) 10~50(얇다), 51 ~ 100(보통), 101 ~ 200(두껍다) - ..

Programming/Java

[Java] Map Interface: HashMap Class

💡HashMap Class HashMap Class는 요소에 접근할 때 키(key)를 사용하는 방식이다. 이때 방 번호가 없다는 말은 순서가 없다는 뜻이기도 하다. 여기서 key는 강의실 5개가 있다고 할 때, 햇님반, 달님반, 별님반, 화성반, 지구반 각각의 이름을 말한다. 또한 각 개별적인 키(key)에는 값(value)이 부여된다. (ex 햇님반 10명) HashMap은 요소의 일괄 접근이 불가능해 반복문을 사용할 수 없지만, 이는 용도가 다를 뿐이지 좋고 나쁘다는 의미는 아니다. 이러한 HashMap의 특징으로 인해 요소끼리의 구분이 용이해졌다. 값을 확인하지 않더라도 식별자 key로 방의 의미를 알 수 있기 때문에 가독성이 굉장히 좋다. HashMap 클래스의 활용 HashMap 선언하기 Has..

Programming/Java

[Java] List Interface: Stack Class, Queue Interface

💡Stack Class Stack 클래스는 한쪽이 막혀있는 파이프 구조를 떠올리면 된다. 후입선출 방식(LIFO, Last Input First Output)으로, 저장소에 나중에 들어간 요소가 가장 먼저 나온다. Stack을 활용한 예로는 되돌리기(Ctrl + Z), 다시하기(Ctrl + Y) 기능이 있다. 데이터를 넣을 때에는 Push Down, 데이터를 꺼낼 때에는 Pop Up이라는 표현을 쓴다. Stack 클래스의 활용 Stack 선언하기 Stack stack = new Stack(); 제네릭의 타입 변수를 사용하여 Stack 배열을 생성해준다. 요소 추가하기 T push(T value) stack.push("짜장면"); stack.push("짬뽕"); stack.push("볶음밥"); Stack..

Programming/Java

[Java] List Interface: ArrayList Class

순수 배열과 ArrayList 클래스 모두 데이터 요소를 저장하고 관리할 때 사용한다. 순수 배열은 크기가 고정되어 있어 데이터의 추가에 제약이 있고 삭제가 불가능하지만, ArrayList 클래스는 배열의 한계를 해결하여 사용하기에 편리하다. 소스 코드를 살펴보며 ArrayList의 특징과 사용법, 주요 메서드를 알아보도록 하자! 💡순수 배열 // Create int[] num1 = new int[3]; num1[0] = 10; num1[1] = 20; num1[2] = 30; // Read System.out.println(num1[0]); System.out.println(num1[1]); System.out.println(num1[2]); System.out.println(num1.length); ..

Programming/Java

[Java] 컬렉션 (Collection)

💡JCF, Java Collection Framework 컬렉션은 자료구조이자 무언가를 모아놓은 집합(배열)이며, 기존의 배열에서 향상된 배열을 의미한다. 기존의 순수 배열에서 사용법을 개량하거나 용도에 따른 입출력 방식 또는 효율성을 높였다는 특징이 있으며, 어떤 분야에서 배열을 특화시켰느냐에 따라 종류가 굉장히 많다. 또한 컬렉션은 클래스와 내부 순수 배열을 가지고 있으며, 길이가 가변적이어서 방의 개수를 마음대로 늘이고 줄이는게 가능하다는 장점이 있다. 컬렉션을 읽는 방법 - Array+ List - Linked+ List - Hash+ Map - Tree+ Map - Hash+ Set - Tree+ Set 앞에 단어는 물리 구조(메모리의 모양)를 나타내고, 뒤에 단어는 인터페이스(사용법)을 나타낸..

Programming/Java

[Java] official document 활용

프로그래밍 공부를 하면서 공식 도큐먼트를 보는 연습이 필요하다. Java® Platform, Standard Edition & Java Development Kit Version 11 API Specification Overview (Java SE 11 & JDK 11 ) This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform for general-purpose computing. These APIs are in modules whose names start with java. JDK The Java Development K..

Programming/Java

[Java] 예외 처리 (Exception Handling)

예외는 런타임 오류가 발생한 것을 의미하며, 이러한 예외가 발생할 것을 예측하여 예외처리를 하는 게 가능하다. Java에서는 예외 처리 하는 방식으로 전통적인 방식과 전용 방식이 있다. 전통적인 방식은 if else 문을 사용하며, 전용 방식으로는 try catch finally 문을 사용한다. 💡try catch finally try { } catch (Exception e) { // TODO: handle exception } private static void tryCatch() { int num = 10; try { // 비즈니스 영역 System.out.println(100 / num); } catch (Exception e) { // 예외 처리 영역 System.out.println("예외 처..

Programming/Java

[Java] 제네릭 클래스 (Generic Class)

제네릭 클래스는 자료형을 타입 변수로 대체한다. 때문에 클래스가 선언될 때 까지는 자료형 결정이 안 되었다가 객체가 생성될 때 결정이 된다. 제네릭 클래스를 작성하려면 타입 변수와 인자 리스트가 필요하다. T: 타입 변수 (메소드의 '매개 변수' 역할) : 인자 리스트 (메소드의 '()' 역할) 제네릭 클래스의 T는 타입 변수로, 이는 메소드의 '매개 변수' 역할을 하며, 인자 리스트는 로, 메소드의 '()' 역할을 한다. 타입 변수는 자료형을 전달하는 변수로서 자료형을 마치 매개 변수처럼 취급하고 반드시 참조형만 가능하다는 특징이 있다. 또 타입 변수는 대소문자를 가리지 않으며, aaa, bbb로 작성할 수도 있지만, 보통 1글자 대문자로 적는다. 💡제네릭 클래스의 특징 public class Ex_G..

Isaac S. Lee
'Java' 태그의 글 목록 (9 Page)