본문 바로가기

JAVA

(13)
김영한의 실전 자바 기본편 - 4일차 패키지패키지: 이름 그대로 물건을 운송하기 위한 포장 용기나 그 포장 묶음을 뜻한다.프로그램이 작고 단순해서 클래스가 몇개 없다면 상관없지만 매우 많은 클래스가 등장 하게 된다면 관련 있는 기능들을 분류해서 관리해야 한다. 패키지를 사용하는 경우 항상 코드 첫줄에 package test 과 같이 패키지 이름을 적어주어야한다.같은 패키지에 있는 경우에는 패키지 경로를 생략해도된다.패키지가 다르면 패키지 전체 경로를 포함해서 클래스를 적어주어야 한다. 패키지  - import패키지가 다르다고 항상 전체 경로를 적어주는 것은 불편하다. 이때는 import를 사용하면 된다. package pack;import pack.a.User;public class PackageMain2 { public static ..
김영한의 실전 자바 기본편 - 3일차 객체 지향 프로그래밍 절차지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 실행 순서를 중요하게 생각하는 방식이다.절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 객체지향 프로그래밍객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중요하게 생각하는 방식이다.객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 객체지향을 좀 더 쉽게 이해하기 위해 절차지향에서 객체지향으로 점진적 코드를 변경하는 실습을 진행해봤다.음악플레이어 라는 예시로 소스를 작성했다. public class MusicPlayerMain1 { public static void main(String[..
김영한의 실전 자바 기본편 - 2일차 기본형과 참조형 기본형int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입참조형Student student1, int[] students 와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입기본형 변수에는 직접 사용할 수 있는 값이 들어있지만 참조형 변수에는 위치(참조값)가 들어가 있다.기본형 변수는 null을 할당할 수 없다.기본형 변수는 산술 연산을 수행할 수 있지만, 참조형 변수는 산술 연산을 수행할 수 없다. String자바에서 String은 특별하다. String은 클래스고 참조형이다. 하지만 기본형처럼 문자 값을 바로 대입할 수 있다.문자는 매우 자주 다루기 때문에 자바에서 특별하게 편의 기능을 제공한다.  기억할것자바는 항상 ..
김영한의 실전 자바 기본편 - 1일차 클래스클래스에 정의한 변수들을 멤버 변수, 또는 필드라 한다.멤버 변수 : 특정 클래스에 소속된 멤버이기 때문에 멤버변수라 부른다.필드 : 데이터 항목을 가리키는 전통적인 용어클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다.EX) Student, User, UserService 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다. 객체 생성Student student1student1 = new Student() new Student 는 새로운 객체를 생성한다는 뜻이다. 이렇게 하면 메모리에 실제 Studenmt 객체를 생성한다.메모리 공간을 확보할때 클래스에 멤버 변수를 사용하기 위해 확보한다.객체를 생성하면 자바는 메모리에 어딘가에 있는 이 객체에 접근할 수 있는 참조값..
JSON JSON이란? JavaScript Object Notation 의 약자로 줄여서 JSON 이라 한다. JSON은 네트워크를 통해 데이터를 주고받는 데 자주 사용되는 경량의 데이터 형식 이다. JSON의 기본적인 형태 { KEY : VALUE } JSON은 key와 value의 쌍으로 이루어져 있는 구조이다. key와 value 사이에는 콜론(:)이 들어간다. 여러개의 JSON 형태 { "A" : "value1", "B" : "value2" } { "A" : { "a" : "value1" }, "B" : [ "arr1", "arr2", "arr3"] } 객체(Object)는 중괄호 {} 로 묶어서 표현하고, 배열(Array)은 대괄호 [] 로 묶어서 표현한다. JAVA로 JSON 다뤄보기 json 예시 {..
자바 TimerTask 타이머는 자바 스레드처럼 일종의 스레드 클래스이다. 어떤 작업을 일정 시간마다 실행하기 위해서는 java.util.Timer 클래스와 java.util.TimerTask 클래스를 사용한다. Timer 클래스 => Timer timer = new Timer()로 초기화해 사용. Timer task = new TimerTask() { @Override }로 사용 @Override 아래에 정의된 run()메소드가 task로 실행된다. .scheduleAtFixedRate() 메서드 scheduleAtFixedRate(TimerTask task, long delay, long period) delay가 지난 후에 period 간격으로 task를 수행한다. TimerTask를 활용한 소스 public OutSca..
Optional이란? Optional 이란? Optional 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)이다. Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다. 이러한 Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게 된다. Optional 사용 예시 public UserVO login(String id, String password) throws Exception { Optional findUserOptional = userMapper.findByLoginId(id..
자바 8 인 액션 1일차 LocalDate , LocalTime , Instant , Duration , Period LocalDate 와 LocalTime 사용 LocalDate 인스턴스는 년도,달,요일 등을 반환하는 메소드를 제공한다. LocalDate today = LocalDate.now(); LocalDate date = LocalDate.of(2021, 8, 2); => 2021-08-02 int year = date.getYear(); => 2021 Month month = date.getMonth(); => august int day = date.getDayOfMonth(); => 2 DayOfWeek dow = date.getDayOfWeek(); => Monday int len = date.lengthOfMon..