날짜를 다루기 위한 클래스로 Date 클래스와 Calendar 클래스가 있다. Date 클래스를 사용하면 유럽식(율리어스력) 형식으로 날짜가 출력된다. 유럽식 형식은 아래와 같이 출력되는 것을 말한다. Sat May 06 23:59:14 KST 2023 위와 같은 형식은 우리가 보기엔 불편하므로 미터법 형식으로 날짜를 변경하도록 한다. 미터법 형식은 아래와 같이 출력되는 것을 말한다. 0000년 00월 00일 00시 00분 00초 미터법 형식으로 출력하고 싶다면 SimpleDateFormat 클래스를 사용하면 된다. 오늘 날짜를 지정된 형식으로 출력하는 방법은 아래와 같다. 1. 출력할 날짜 형식을 문자열로 지정한다. 2. SimpleDateFormat 객체를 생성한다. 3. format() 메소드에 출..
생성자 오버로딩 매개 변수를 달리하는 생성자를 여러 개 선언하는 것을 말한다. 생성자 오버로딩 시 주의할 점은 매개 변수의 타입과 개수 그리고 선언된 순서가 달라야 한다는 것이다. 즉, 매개 변수의 타입과 개수 그리고 선언된 순서가 똑같을 경우 매개 변수의 이름만 바꾸는 것은 오버로딩이 아니라는 것이다. public class Car { String company = "기아"; String color; int maxSpeed; // 생성자1 Car(){ } // 생성자2 Car(String color){ this.color = color; } // 생성자3 Car(String color, int maxSpeed){ this.color = color; this.maxSpeed = maxSpeed; } } ..
필드 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳으로 변수와 비슷하나 필드를 변수라고 부르지 않는다. 변수와 필드의 차이점 변수 : 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸된다. 필드 : 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다. : 클래스 중괄호 {} 블록 어디서든 존재할 수 있으나 생성자와 메소드 중괄호 {} 블록 내부에서는 선언될 수 없다. ★필드와 지역 변수의 차이점을 잘 정리해놓은 사이트★ https://rorobong.tistory.com/118 [JAVA] 자바 클래스 내부 구성 - 필드 안녕하세요 로로봉입니다 : ) 자바에서 필드에 대해 알아보도록 하겠습니다. 1) 필드와 지역 변수의 구분 필드는 클래..
멤버변수와 지역변수 변수를 선언하는 위치에 따라 멤버변수와 지역변수로 나눌 수 있다. 멤버변수는 선언 위치가 클래스 영역이고, 지역변수는 선언 위치가 메소드나 생성자 내부이다. 멤버 변수 : 클래스 변수와 인스턴스 변수 멤버변수는 또 클래스 변수와 인스턴스 변수로 나눌 수 있다. 클래스 변수는 모든 객체가 공통적으로 똑같은 속성을 가질 때 사용한다. 그리고 static을 붙여서 만들 수 있고, 객체를 생성하지 않아도 사용할 수 있다는 특징이 있다. 즉, 전역 변수의 성질을 가지고 있음을 알 수 있다. 인스턴스 변수는 각각의 객체마다 개별적인 속성을 가질 때 사용한다. 그리고 클래스 변수와 다르게 객체 생성을 해야 사용할 수 있다는 특징을 가지고 있다. 지역 변수 지역변수는 메소드 내에 선언되어 메소드 내..
배열 배열 생성하는 법 타입[] 변수 = {값0, 값1, 값2, 값3, ... }; 값의 목록으로 배열 객체를 생성할 때 주의할 점 타입[] 변수; 변수 = {값0, 값1, 값2, 값3, ... };// 컴파일 에러 배열 변수를 이미 선언한 후에는 다른 실행문에서 중괄호를 사용한 배열 생성이 허용되지 않아 위의 코드는 컴파일 에러가 발생한다. 배열 변수를 미리 선언한 후에 값 목록을 나중에 할당하고 싶다면 아래와 같이 new 연산자를 사용하면 된다. 변수 = new 타입[]{값0, 값1, 값2, 값3, ... }; String[] fruits = null; fruits = new String[]{"사과", "포도", "바나나"}; 메소드의 매개값이 배열일 때에도 마찬가지로 new 연산자를 사용하면 된다...
기본 타입 자료형 기본 타입 변수의 ==, != 연산은 변수의 값이 같은지, 아닌지 알아볼 때 사용된다. 여기서 기본 타입 변수들의 종류에는 byte/short/int/long(정수형), float/double(실수형), char(문자형), boolean(논리형)이 있다. 참조 타입 자료형 참조 타입 변수들 간의 ==, != 연산은 동일한 객체를 참조하는지, 다른 객체를 참조하는지 알아볼 때 사용된다. 여기서 참조 타입 변수들의 종류에는 배열, 클래스, 인터페이스, 어노테이션 등이 있다. 참조 타입 변수의 값은 힙 영역의 객체 주소이므로 ==, != 연산은 결국 번지 값을 비교하는 것이 된다. 즉, 동일한 번지 값을 갖고 있다는 뜻은 동일한 객체를 참조한다는 것이다. 그렇다면 동일한 String 객체이건..
앞서 2023.03.14 - [국비 지원] - [JAVA] 사용자의 입력을 받을 수 있는 Scanner (1)에서 next()와 nextLine()의 차이점을 말했었다. 다시 정리하자면 아래와 같다. next() : 문자열을 입력할 때 처음으로 나오는 화이트 스페이스(공백, 탭) 이전 문자열까지 입력 받는다. ex) "안녕하세요. 반갑습니다." => "안녕하세요."만 반환 nextLine() : 문자열을 입력할 때 엔터 치기 전까지의 문장 전체를 입력받는다. ex) "안녕하세요. 반갑습니다. [엔터]" => "안녕하세요. 반갑습니다." 반환 사용 시 주의할 점이 있다. 아래의 코드를 보자. import java.util.Scanner; public class ScannerEx { public static..
Scanner sc = new Scanner(System.in); Scanner로 사용자의 입력을 받아서 출력할 수 있다. Scanner의 주요 메소드로는 다음 표와 같다. 메서드 기능 next() 공백전까지 입력받은 문자열을 반환한다. nextLine() Enter를 치기 전까지 쓴 문자열 모두 반환한다. nextInt() 토큰을 int 타입으로 리턴한다. nextLong() 토큰을 long 타입으로 리턴한다. next.float() 토큰을 float 타입으로 리턴한다. nextByte() 토큰을 byte 타입으로 리턴한다. nextDouble() 토큰을 double 타입으로 리턴한다. 이 표 외에도 다른 메서드들이 존재한다. 여기서 char 문자형을 입력받아서 출력하는 메소드는 보이지 않는다. cha..