Backend/Java

    자바 기본 API 클래스(3)

    java.util.Date 클래스 날짜를 표현하는 클래스로 객체간의 날짜정보를 주고받을때 사용 여러개의 생성자가 선언되어 있지만 대부분 Deprecated(비 권장)되어 현재는 Date()생성자만 주로 사용 예외 : 프로그램 실행중 발생되는 에러 예외 처리 try { // 예외가 발생할 가능성이 있는 실행코드 작성 Date date3 = sdf2.parse(s); } catch (ParseException e) { // 예외가 발생할 경우 실행할 코드 작성 e.printStackTrace(); } Date.getTime()은 밀리세컨드 환산해서 결과가 나오고 Calendar.getTime()은 date형태로 결과가 나옵니다. java.sql.Date : 날짜를 DB에 저장하거나 DB의 날짜를 가져올때 사..

    자바의 정석 정리(29) - 클래스와 인스턴스

    기본형 매개변수와 참조형 매개변수 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. (read only) 참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다. (read & write) 반환타입이 참조형이라는 것은 메서드가 '객체의 주소'를 반환한다는 것을 의미 재귀호출(recursive call) 메서드의 내부에서 메서드 자신을 다시 호출하는 것 재귀 메서드 재귀호출을 하는 메서드 재귀호출은 비효율적이므로 재귀호출에 드는 비용보다 재귀호출의 간결함이 주는 이득이 충분히 큰 경우에만 사용해야 한다. 클래스 메서드(static메서드)와 인스턴스 메서드 메서드 앞에 static이 붙어 있으면 클래스 메서드, 붙어 있지 않으면 인스턴스 메서드 인스턴스 메서드 인스턴스 변수와 관련된 작업을 하는, 즉 메서..

    자바의 정석 정리(28) - 메서드 ②

    메서드의 호출 인자(argument)와 매개변수(parameter) 인자(인수) : 메서드 호출할 때 괄호 ( )안에 지정해준 값들 메서드의 실행흐름 static메서드는 같은 클래스 내의 인스턴스 메서드를 호출할 수 없다. return문 현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아간다. if문을 이용할 경우 항상 모든 조건에서 결과값이 반환되도록 해야 한다. JVM의 메모리 구조 1. 메서드 영역(method area) 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일(*.class)을 읽어서 분석하여 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 떄, 그 클래스의 클래스 변수도 이 영역에 함께 생성된다. 2. 힙(heap) 인스턴스가 생성되는 공간. 프..

    자바의 정석 정리(27) - 메서드 ①

    메서드 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것 메서드를 사용하는 이유 1. 높은 재사용성(reusability) 2. 중복된 코드의 제거 3. 프로그램의 구조 메서드의 선언과 구현 선언부(header)와 구현부(body)로 구성 메서드 선언부 반환 타입, 메서드 이름, 매개변수 선언으로 구성되어 있다. 매개변수 선언 메서드가 작업을 수행하는데 필요한 값들*입력)을 제공받기 위한 것, 필요한 값의 개수만큼 변수를 선언하며 각 변수간의 구분은 쉼표','를 사용한다. 두 변수 타입이 같아도 변수 타입을 생략할 수 없다. 매개변수의 개수 제한은 거의 없으며, 값의 개수가 많을 경우 배열이나 참조변수를 사용하면 된다. 매개변수도 메서드 내에 선언된 것으로 간주되므로 지역변수이다. 메서드의 이름 메서..

    자바의 정석 정리(26) - 변수

    선언위치에 따른 변수의 종류 변수의 종류 세 가지 - 클래스변수, 인스턴스변수, 지역변수 멤버변수를 제외한 나머지 변수들은 모두 지역변수, 멤버변수 중 static이 붙은 것은 클래스변수(static변수, 공유변수), 붙지 않는 것은 인스턴스변수 1. 인스턴스변수(instance variable) 클래스 영역에 선언, 클래스의 인스턴스를 생성할 때 만들어진다. 인스턴스 변수를 사용하기 위해서 인스턴스를 생성해야한다. 독립적인 저장공간을 가지며 서로 다른 값을 가질 수 있다. 2, 클래스변수(class variable) 인스턴스변수 앞에 static을 붙이면 클래스변수가 된다. 모든 인스턴스가 공통된 저장공간을 공유한다. 인스턴스를 생성하지 않고도 바로 사용할 수 있다. 클래스가 메모리에 로딩될 때 생성되..

    자바의 정석 정리(25) - 객체지향언어

    객체지향언어 1, 코드의 재사용성이 높다. 2. 코드의 관리가 용이하다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 클래스와 객체 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 : 책상, 의자, 자동차, TV와 같은 사물 무형의 객체 : 수학공식, 프로그램 에러와 같은 논리나 개념 객체 : 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있다. 인스턴스 : 어떤 클래스로 부터 만들어진 것인지를 강조하는 것 보다 구체적인 의미를 갖고 있다. 클래스 -(인스턴스화)> 인스턴스(객체) 객체의 구성요소 - 속성과 기능 속성 = 멤버변수, 특성, 필..

    자바의 정석 정리(24) - 다차원 배열

    다차원 배열 2차원 이상의 배열, 메모리의 용량이 허용되면 차원의 제한은 없다. 2차원 배열의 선언과 인덱스 타입 [ ] [ ] 변수이름; ex) int[ ] [ ] score; 타입 변수이름[ ] [ ]; ex) int score[ ] [ ]; 타입[ ] 변수이름[ ]; ex) int[ ] score[ ]; 2차원 배열의 초기화 1차원 배열에 괄호 { }를 한번 더 써서 행별로 구분해 준다. int[ ] [ ] arr = new int[ ] [ ] { {1, 2, 3}, {4, 5, 6} }; int[ ] [ ] arr = { {1, 2, 3}, {4, 5, 6} }; // new int[ ] [ ] 생략가능 int[ ] [ ] arr = { {1, 2, 3}, {4, 5, 6} }; 가변 배열 다차원..

    자바의 정석 정리(23) - String 배열 ②

    char 배열과 String 클래스 문자열이라는 용어는 '문자를 연이어 늘어놓은 것'을 의미하므로 문자배열인 char 배열과 같은 뜻임을 의미 String 클래스는 char 배열에 기능(메서드)을 추가한 것 char 배열과 String 클래스의 한 가지 중요한 차이는 String 객체(문자열)는 읽을 수만 있을 뿐 내용을 변경할 수 없다는 것 String 클래스의 주요 메서드 char charAt(int index) : 문자열에서 해당 위치(index)에 있는 문자를 반환한다. int length( ) : 문자열의 길이를 반환한다. String substring(int from, int to) : 문자열에서 해당 범위(from ~ to)에 있는 문자열을 반환한다. (to는 범위에 포함되지 않음) bool..