본문 바로가기

Programming/Java6

[중급] Object 클래스 Object 클래스 최상위 클래스, 아무것도 상속받지 않으면 자동으로 Object 상속. 오브젝트의 메소드 중 가장 많이 쓰는 메소드 셋. (반드시 오버라이딩) equals 객체가 가진 값 비교 toString 객체가 가진 값 문자열로 변환 hashCode 객체의 해시코드 값 반환 package com.company; import java.util.Objects; public class Student { String name; String number; int birthYear; //generate @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", number='" + number + '\'' + ", .. 2019. 12. 19.
[기초] 예외 처리 예외 처리 1) try{ } catch(Exception e){ } finally{ } 2) throws Exception public class Main { public static void main(String[] args) { int i =10; int j =0; try{ int k = divide(i,j); System.out.println(k); }catch(ArithmeticException e){ System.out.println("0으로 나눌 수 없음."); }finally{ System.out.println("----끝----"); } } public static int divide(int i ,int j) throws ArithmeticException{ int k = i/j; retu.. 2019. 12. 19.
[기초] 내부 클래스, 익명 클래스 1) 중첩 클래스 / 인스턴스 클래스 (필드 선언 위치에 선언됨) 밖에 Main 객체를 만든다 -> Main.Cal cal = m.new Cal(); 생성 후 사용 public class Main { class Cal{ int val = 0; public void plus(){ val++; } } public static void main(String[] args) { Main m = new Main(); Main.Cal cal = m.new Cal(); cal.plus(); System.out.println(cal.val); } } 2) 정적 중첩 클래스 / static 클래스 (내부 클래스가 static으로 정의됨) Main 객체 생성할 필요 없이 Main.Cal cal = m.new Cal(); 생.. 2019. 12. 19.
[기초] String 클래스 문자열 인스턴스 생성 방법 2가지 1. new 연산자를 사용하지 않고 인스턴스를 만드는 경우 상수 저장 영역에 저장됨 이미 같은 문자열 상수가 만들어져 있다면 그 인스턴스를 참조한다 2. new 연산자로 인스턴스를 만드는 경우 무조건 새로운 인스턴스 생성 그래서 내용이 같더라도 서로 다른 인스턴스를 참조한다 public class Main { public static void main(String[] args) { String str1 = "hello"; //상수 저장 영역(변하지 않는 값)에 저장됨. String str2 = "hello"; //이미 문자열 상수가 만들어져 있으므로 str1 이 참조하는 인스턴스를 str2도 참조한다. String str3 = new String("hello"); //n.. 2019. 12. 19.
Java 개발 환경 Intellij 설치 아무래도 이클립스는 너무 무겁고 느리다. 게이밍 노트북을 사용하는데 소리가 위이이이이잉 나서 주변에서 한 번씩 볼 정도다. 그동안 더 익숙하다는 이유로 주로 이클립스를 사용했는데, 인텔리 제이를 사용했을 때의 빠른 준비 시간과 가벼운 파일 구성, 편리함 등을 잊을 수 없어서 당분간은 인텔리 제이를 사용해보려고 한다. 이클립스는 굳이 필요하지 않은 듯한 파일도 같이 껴있고, 이클립스가 아니면 돌아가지 않는 프로젝트가 되는 경우가 있었기 때문에, (뭐 만들 때의 이슈였는지 잊어버렸다.. 안드로이드였는지 웹이었는지) 커스텀이 비교적 자유롭고 가벼운 인텔리 제이를 선택했다. Windows 보안 설정도 해주고, 학생용으로 설치도 완료했다. 주 목적은 1) 알고리즘 공부와 2) 웹 프로젝트 만들기. IDE 처음 설.. 2019. 12. 19.
[Spring] DAO, DTO, Service란 MVC(Model - View - Controller)에서 Model은 DAO, DTO, Service로 나눌 수 있다. MVC 관련: http://webskills.kr/archives/479 DAO(Data Access Object)란? 실제로 DB에 접근하는 객체. DB를 사용해 데이터를 조회하거나 조작하는 기능 담당. DB와 관련없는 코드들을 분리하는 이유? HTTP Request를 Web Application이 받게 되면 Thread를 생성하게 되는데, DB로부터 데이터를 얻어오기 위해 Driver를 로드하고 매번 Connection 객체를 생성하게 되면 너무 많아진다. 그래서 DB 전용 객체로만 사용할 DAO가 있으면 부담이 적어진다. DBCP 개념 관련: https://www.holaxpro.. 2019. 4. 17.