Java
-
Java - GenericJava 2018. 1. 24. 08:44
Generic을 사용하면 다시 원형으로 돌아가기 위한 Casting절차를 없앨 수 있다. public class Box { private Object value; public Object getValue() { return value; } public void setValue(Object value) { this.value = value; } } public class Main { public static void main(String[] args) { Box box = new Box(); // Box안에는 무엇이 들어갈ㅈ ㅣ몰라서 Object로 선언 box.setValue(1234); int value = (int) box.get..
-
Java - StringBuffer & StringBuilderJava 2018. 1. 23. 13:30
// StringBuffer와 StringBuilder의 차이// 다수유저의 동시 접근이 StringBuffer는 허용되지 않지만// Builder는 허용된다 String은 추가 시 객체 추가 생성, StringBuffer & StringBuilder 둘다 객체 추가 생성XStringBuilder - Thread Safe 허용, StringBuffer - Thread Safe 허용X, 추가할때 마다 내용만 추가 public class Compare { public static void main(String[] args) { // String은 문자열이 추가 될 때 마다 추가 객체를 생성 한다. String str = "문자열을"; str+=" 추가할 때 마다"; str+="객체가 추가 된다."; Syst..
-
Java - StringJava 2018. 1. 23. 11:10
public class Main { public static void main(String[] args) { // 문자열 만드는 방법 String str1 = "abcdefg"; System.out.println(str1); String str2 = new String("asdasd"); System.out.println(str2); char[] alpha = {'a','b','c','d','e','f'}; String str3 = new String(alpha); System.out.println(str3); } } public class StringUtil { public static void main(String[] args) { String string = "abcdef..
-
Java - throwsJava 2018. 1. 23. 10:33
public class Main { public static void main(String[] args) throws Exception { // jvm으로 exception 넘기기 Sub sub = new Sub(); sub.method1(); // jvm은 exception 메세지만 출력 } } public class Sub { public void method1() throws Exception { // NumberFormatException, Main으로 넘기기 method2(); } public void method2() throws Exception { // 호출 되었던 method()1로 넘기기 Integer.parseInt("sdasd"); // NumberFormatEx..
-
Java - Try, CatchJava 2018. 1. 23. 08:58
public class Main { public static void main(String[] args) { String data1 = "12345"; String data2 = "asdfg"; try {//예외 발생이 예상되는 지점 int val1 = Integer.parseInt(data1); int val2 = Integer.parseInt(data2); }catch(NumberFormatException e) {//NumberFormatException 발생시 실행 할 코드 System.out.println("입력된 값에 문자가 있는지 확인 해 주세요"); System.out.println(e.toString()); }finally {//예외 발생에 상관 없이 무조건 실행 System.out.pr..
-
Java - InterfaceJava 2018. 1. 19. 14:45
// Interface - 추상화 메서드를 통해 규격을 잡아주는 역할 (중간 역할) public interface MouseEvent { // 인터페이스는 본래 추상화 메서드만 선언 가능 하다. // 그래서 abstract 키워드가 생략 된다. public void click(int c); public void dbclick(int d); public double[] move(); // JDK 1.8부터 default 메서드를 제공 // default를 붙이면 일반 메서드가 된다. public default void wheel(int i) { if(i == 1) { System.out.println("위 방향"); }else { System.out.println("아래 방향"); ..
-
Java - 추상화 (Abstraction)Java 2018. 1. 19. 10:38
// 추상화 - 기본적인건 만들어놔야함, 상속을 받으면 오버라이드// 추상 메서드를 통해 꼭 구현할 메서드를 오버라이드 할 수 있다.// 꼭 구현될 기능만 모아둔 것, 둘은 상속 관계 // 추상클래스는 객체화 할 수 없고, 자식 외엔 부를 수 없다.// 추상클래스의 생성자에 접근 하고 싶다면 super()를 호출 해야 한다.// 추상화 클래스 및 메서드를 선언 하기 위해서는 abstract라는 키워드를 선언해야 한다. public abstract class Mamal { // 추상화 클래스 public String name; public Mamal(String name) { this.name = name; } public void birth() { System.out.println(name + "이 자식..