Programming/JAVA 8

[Java 자바] 열거형 상수(enum)의 기본 사용법

⚾enum이란? : 공통점을 가진 상수들의 집합 계절 혹은 요일처럼 특정한 카테고리로 묶을 수 있는 데이터들이 있다. 프로그래밍을 하다보면 상수를 static final 로 선언하는 경우가 많은데, 이는 상수의 갯수가 많아질수록 효율을 떨어뜨린다. enum은 이를 보완하기 위해 만든 열거형 타입으로, 서로 연관된 상수들은 enum 클래스로 묶어주면 편리하다. ⚽enum 선언하기 enum Season{ 봄, 여름, 가을, 겨울 } 타입의 이름은 직관적으로 짓는 것이 가독성이 좋다. [ 봄, 여름, 가을, 겨울 ] 의 공통점은 계절이니 Season 타입으로 선언했다. enum Season { 봄("spring"), 여름("summer"), 가을("autumn"), 겨울("winter"); private St..

Programming/JAVA 2023.09.30

[Java 자바] 생성자(Construnctor) 의미와 사용법

❔생성자란? 객체(인스턴스)를 새로 생성할 때 호출하는 메서드로, 객체의 변수들을 초기화하는 작업에 사용된다. 생성자도 메서드이기 때문에 클래스 내부에서 선언 되어야 한다. 🎲생성자의 조건 1. 생성자의 이름은 클래스 이름과 동일해야 한다. 2. 생성자는 void 타입이다. 3. 모든 클래스에는 반드시 하나 이상의 생성자가 정의되어 있어야 한다. 📃생성자 선언 방법 // 매개변수 O [클래스명] (타입 변수명, 타입 변수명...){ ... }; // 매개변수 X [클래스명] ( ){ ... }; 메서드 내부에는 객체가 생성될 때 수행될 코드를 적는다. 그런데, 생성자는 void 타입인데 왜 이름 앞에 void를 붙이지 않는가? 메서드 앞에 리턴 타입을 붙이는 것이 원칙이지만, 모든 생성자는 리턴값이 없으..

Programming/JAVA 2023.09.13

[Java 자바] 문자배열을 문자열로 출력하기(Char[] -> String) / String.valueOf( )와 Arrays.toString( )의 차이

🚀 정리 계기 - 배열 요소의 값만 확인하는 목적으로 Arrays.toString( ) 메소드를 이용한 문자열 형변환을 해왔음 - 형변환 후, 인덱싱이 필요한 상황이었음 👉 습관처럼 형변환 후, 인덱스를 찾았는데 예상과 다른 값이 return됨 - 문자열 변환도 메소드에 따라 "형태" 가 다른 걸 알게 됨 🚋 Arrays.toString( ) - java.util.Arrays 클래스의 메서드 - 문자열로 변환할 때, 배열 모양 그대로 나온다 - 따라서 배열의 요소를 한 눈에 확인 가능 char[] arr = {'0', '1', '2', '3'}; System.out.println(Arrays.toString(arr)); 출력 👉 [0, 1, 2, 3] 배열의 요소뿐 아니라 [ 와 , 도 문자열의 요소로 ..

Programming/JAVA 2023.08.18

[Java 자바] LocalDate, LocalTime, LocalDateTime 사용법

🚩 모두 java 8버전부터 사용 가능 [ java.time.LocalDate ] - java.time 패키지 - Date / Calendar 와 달리 날짜만 따로 다룰 수 있다. 기본 사용법 import java.time.LocalDate; /* now( ) ==> 현재 년-월-일 */ LocalDate ld = LocalDate.now(); System.out.println(ld); 👉 2023-08-13 년/월/일 셋팅 /* of(년,월,일) */ LocalDate.of(2024, 12, 11); /* parse(형식 포맷) */ LocalDate.parse("2022-12-16"); 👉 2024-12-11 👉 2022-12-16 [ java.time.LocalTime ] - 시간만 따로 다룰 수 ..

Programming/JAVA 2023.08.13

[Java 자바] Calendar로 날짜와 시간 다루기 (현재 날짜 구하기/날짜 설정하기)

[ java.util.Calendar ] - java.util 패키지에 속한 클래스 - Date의 단점을 보완 - 날짜와 시간 값을 조작(?)할 때 편리하게 사용하는 중 현재 날짜와 시간 출력하기 import java.util.Calendar; Calendar cal = Calendar.getInstance();// getInstance 메소드를 호출해 객체 생성 cal.getTimes();// Sat Aug 12 20:32:57 KST 2023 (현재 날짜와 시간) System.out.println(cal.getTimes()); 출력 👉 Sat Aug 12 20:32:57 KST 2023 Calendar 는 추상 클래스이기 때문에 new 연산자를 사용해서 객체 생성이 불가능 *추상 클래스 : 미완성 클..

Programming/JAVA 2023.08.12

[Java 자바] 현재 날짜와 시간 알아내기, 원하는 형식으로 출력하기 (Date, SimpleDateFormat 클래스)

[ java.util.Date] java.util 패키지에 있는 클래스로 날짜와 시간을 다룬다. Date의 대부분의 메서드가 현재는 deprecated 되어 사용되지 않고 있지만, 날짜와 시간을 자바로 처리하다 보면, Date 클래스를 써야하는 경우가 종종 있다. 간단한 사용법은 정리하고 넘어가는 게 좋을 것 같다. 현재 날짜와 시간 import java.util.Date; Date now = new Date();//Fri Aug 11 23:37:59 KST 2023 Date 객체를 생성하면 현재 날짜/시간/요일 등의 데이터가 저장된다. KST는 간단히 말하면 한국 표준시를 의미한다. 아래 SimpleDateFormat 설명에 나온다. 출력 System.out.println(date.toString())..

Programming/JAVA 2023.08.12

[Java 자바] 임의의 숫자 + 문자 코드 생성하기

사이트 가입 절차 중 랜덤으로 코드를 부여하고 인증하는 기능을 맡았는데 숫자 + 소문자 알파벳 + 대문자 알파벳으로 이루어진 랜덤 코드를 뽑고 싶었기 때문에 . . 일단 알파벳을 랜덤으로 뽑는 건 모름 . . 🙄 결론은 두 가지 방법이 있었다. 하나는 1)아스키 코드를 응용하는 방법 또 하나는 2)알파벳을 랜덤으로 뽑아주는 클래스 사용하는 방법 1) 아스키 코드 x Random 클래스 import java.util.Random; public String code() { Random random = new Random(); StringBuffer code = new StringBuffer(); for(int i=0;i

Programming/JAVA 2023.07.19

[Java 자바] 스캐너(Scanner) 정리 + 기본 사용법

Scanner 란? - java.util 패키지 내에 있는 클래스 - 화면으로부터 데이터를 입력받는 기능을 제공 - 정수, 실수, 문자열과 같은 기본적인 데이터 타입을 입력받음 스캐너 사용법 1) Scanner 클래스를 import 해준다 - 클래스명을 지정해서 import 하기 import java.util.Scanner; - *을 써서 util 패키지 모든 클래스 import import java.util.*; 2) 스캐너 객체를 생성해준다 Scanner 클래스는 객체를 생성해야 사용할 수 있다. Scanner sc = new Scanner(System.in); System.in 👉 데이터를 화면에서 입력받기 System.out 👉화면으로 출력하기 3) 스캐너 객체 사용 후 닫기 더 입력받지 않으려면..

Programming/JAVA 2023.07.09