java 57

Generic 제너릭

제네릭을 사용하지 않는 경우 ArrayList arrayList = new ArrayList(); arrayList.add("fast"); String data = (String)arrayList.get(0); 넣어준 데이터를 꺼내고 싶을때는, 0번째 index를 꺼내올때 그것이 무슨형태인지를 알 수 없으니까 형변환을 하고 꺼내와야한다. 제네릭을 사용하는 경우 ArrayList arrayList = new ArrayList(); arrayList.add("fast"); String data = arrayList.get(0); 미리 값을 지정할 수 있기 때문에 타입의 안정성을 높일수 있고, get할때 따로 형변환을 할 필요가 없다.

예외처리 추가설명

유연한 프로그래밍을 위한 예외처리의 기법에 대해서 살펴보자. 다음은 예외처리를 위한 try, catch문의 기본 구조이다. try/catch try { ... } catch(예외1) { ... } catch(예외2) { ... ... } try문안에 문장들에 예외가 발생하지 않다면 catch문 다음의 문장들은 수행이 되지 않는다. 하지만 try문안의 문장ㄷ릉르 수행 중 해당예외가 발생하면 예외에 해당하는 catch문이 수행된다. Finally 프로그램 수행 도중 예외가 발생하면 프로그램이 중지되거나 예외처리를 했을 경우 catch구문이 실행된다. 하지만 어떤 예외가 발생하더라도 반드시 실행되어야 하는 부분이 있어야 한다면 어떻게 하나?? public class Test { public void shoul..

java 2019.07.11

쓰레드(Thread)

쓰레드를 알려면 예제를 보는것이 쉽다. public class Test extends Thread { public void run() { System.out.println("thread run."); } public static void main(String[] args) { Test test = new Test(); test.start(); } } Test클래스가 Thread 클래스를 상속했다. Thread클래스의 run 메소드를 구현하면 위 예제와 같이 test.start()실행 시 test객체의 run 메소드가 수행이 된다. (Thread 클래스를 extends 했기 때문에 start 메소드 실행 시 run 메소드가 수행되는 것이다. Thread클래스는 start실행 시 run 메소드가 수행되도록 ..

java 2019.07.11

call by value

class Updater { public void update(Counter counter) { counter.count++; } } public class Counter { int count = 0; public static void main(String[] args) { Counter myCounter = new Counter(); System.out.println("before update:"+myCounter.count); Updater myUpdater = new Updater(); myUpdater.update(myCounter); System.out.println("after update:"+myCounter.count); } } 이렇게 메소드의 입력으로 객체를 전달받는 경우에는 메소드가 입..

자바 메소드(Method)

보통 다른언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다. 자바는 이 클래스 내의 함수를 메소드라고 부른다. ※ 보통 함수와 메소드가 공존하는 언어(예:파이썬)에서는 두 개를 구분하여 말하기도 하지만 자바는 보통 메소드와 함수를 구분하여 말하지 않는다. 다만 자바에서 사용되는 함수의 정확한 명칭은 메소드이다. 메소드를 사용하는 이유는? 가끔 프로그래밍을 하다 보면 똑같은 내용을 자신이 반복해서 적고 있는 것을 발견할 때가 있다. 이 떄가 바로 메소드가 필요한 떄이다. 여러번 반복해서 사용된다는 것은 언제고 또 다시 사용할 만한 가치가 있는 부분이라는 뜻이다. 즉, 이러한 경우 이것을 한 뭉치로..

while문

반복해서 문장을 수행해야 할 경우 while문을 사용한다. 다음은 while문의 기본 구조이다. while (조건문) { ... } while문을 수행하는 예를 보여주겠다. int treeHit = 0; while (treeHit < 10) { treeHit++; System.out.println("나무를 " + treeHit + "번 찍었습니다."); if (treeHit == 10) { System.out.println("나무 넘어갑니다."); } } treeHit가 10보다 작은 동안에 while 문 안의 문장들을 계속 수행하게 된다. whlie문 안의 문장을 보면 제일 먼저 treeHit++로 treeHit값이 계속 1씩 증가한다. 그리고 나무를 treeHit번 만큼 찍었음을 알리는 문장을 출력하..

java/제어문 2019.07.09

List 추가정리

List 자료형에는 ArrayList, LinkedList등의 List 인터페이스를 구현한 자료형이 있다. 여기서 말하는 List 자료형은 인터페이스인데 인터페이스에 대해서는 나중에 다루기로 한다. add 박찬호 선수가 총 3번의 투구를 138, 129, 142(km)의 속도를 던졌다면 다음과 같이 코드를 작성할 수 있다. ArrayList pitches = new ArrayList(); pitches.add("138"); pitches.add("129"); pitches.add("142"); add 라는 메소드를 이용하여 투구 스피드를 저장함. 만약 첫번째 위치에 "133"이라는 투구 스피드를 삽입하고 싶다면 아래와 같이 코딩하면 된다. pitches.add(0,"133"); get System.out..

java/자료형 2019.07.09