본문 바로가기

Java

(130)
[Java] Wrapper클래스 Wrapper 클래스 - java.lang 패키지에 있습니다 - 데이터를 감싸는 용도의 클래스로 변수값들을 감싸서 객체(인스턴스)로 만들어준다. - 기본자료형 데이터를 객체로 변경해 주면 각 자료형 별로 Wrapper클래스가 따로 존재합니다. 각 Wrapper클래스의 이름은 기본자료형의 첫글자를 대문자로 변경하면 클래스이름이 됩니다. 단, int는 Integer, char는 Character 존재합니다. - 기본자료형 데이터를 객체(Wrapper 인스턴스)로 변환하는 것을 Boxing이라 하고, 반대로 객체를 기본자료형 데이터로 변환하는 것을 UnBoxing이라고 합니다. - 주요 메소드 : 거의 유일하게 자주사용되는 메소드 static int parseInt(String s) : 매개변수의 문자열을 i..
[Java] throw 예외처리 정해진 예외처리말고 개발자가 직접 exception을 상속받아 예외처리하는 방법도 있다. - 사용하는 메소드의 선언부에 'throws 예외클래스'가 있으면 메소드 사용시 try-catch 안에서 사용해야합니다. . . 예제 import java.util.*; class AgeInputException extends Exception{ //Exception 클래스를 상속 받았음으로 AgeInputException클래스는 예외클래스임 public AgeInputException(){ super("유효하지 않는 나이가 입력되었습니다."); } } class UserDefineException{ public static void main(String[] args) { System.out.print("나이를 입력..
[Java] 자주사용되는 예외 - 자주 발생하는 예외 ArithmeticException : 연산불가(0으로 나누기) ArrayIndexOutOfBoundsException : 배열의 인덱스 범위를 벗어난 예외 ClassCastException : 허용할 수 없는 형변환을 할 경우 발생하는 예외 NegativeArraySizeException : 배열의 크기를 음수로 지정할 때 발생 NullPointerException : 인스턴스가 null인데 사용하는 경우 . . 예제 class RunTimeExceptionCase { public static void main(String[] args) { try{ int[] arr = new int[3]; arr[-1] = 0; }catch (ArrayIndexOutOfBoundsExcepti..
[Java] 예외처리 예외처리(Exception Handling) - 예외(Exception) : 컴파일 오류가 아닌 프로그램 실행시 특정한 상황에서의 문제를 의미합니다. - 예외는 if문을 이용해서 처리할 수 도 있으나 코드가 복잡해지는 단점이 있습니다. 메소드들 중에는 예외처리를 반드시 해야만 사용할 수 있는 메소드도 있습니다. 여기에서의 예외처리는 if문을 이용한 예외처리가 아닌 예외처리 전용 문법을 사용해야 합니다. - 예외도 자바에서는 하나의 클래스로 작업됩니다. - 모든 예외 클래스는 java.lang.Exception클래스를 상속받아 동작합니다. - 문법 try{ 예외가 발생할 것 같은 실행문들; }catch(예외 클래스 - try문에서 발생한 예외){ 발생한 특정 예외에 대한 처리; }catch(다른 예외 클래..
[Java] 인터페이스(interface) 다중 상속 - 인터페이스에서 선언하는 모든 변수는 자동으로 public static final로 선언됩니다. 메소드없이 public static final로 선언되는 값을 위해 인터페이스를 사용하기도 합니다. . . 예제 import java.util.*; interface Week { int MON = 1, TUE = 2, WED = 3, THU = 4, FRI = 5, SAT = 6, SUN = 7; // interface에서 선언한 변수이므로 자동으로 public static final로 지정됨. } class InterfaceConst { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.printl..
[Java] Interface(인터페이스) 인터페이스(interface) - 클래스와 비슷하며 완벽한 abstract클래스가 interface가 될 수 있습니다. abstract클래스 : 모든 메소드가 abstract 메소드인 경우를 이야기합니다. - 인터페이스의 모든 메소드는 반드시 abstarct메소드여야 합니다. - 인터페이스를 문법적으로 이용하면 단일 상속만 가능한 자바에서 다중상속의 효과를 낼 수 있습니다. 인터페이스는 상속(extends)이 아닌 구현(implements)을 통해 작업합니다. implements는 extends와 다르게 여러 인터페이스를 사용할 수도 있습니다. - 인터페이스에서 선언하는 모든 메소드는 자동으로 public abstract로 선언됩니다. 그러므로 오버라이딩시 무조건 public으로 선언해야 합니다. - 인..
[Java] Interface(인터페이스) - abstract class(추상화 클래스) 추상화 클래스(abstract class) - 불완전한 클래스로 완성되지 못한 메소드(abstract method)를 하나 이상 갖고 있는 클래스를 abstract class라고 합니다. - abstract method : 메소드의 선언부만 있고, 정의되지 못한 메소드를 의미합니다. ex) public abstract 리턴타입 메소드명(); -> 몸통(중괄호 부분)이 없습니다. - 사용하는 이유 : 상속의 관계를 형성시키기 위한 상위클래스로 사용됩니다. - 클래스이나 인스턴스를 생성할 수는 없습니다. abstract class를 사용하려면 반드시 상속을 받아야 합니다. - abstract class를 상속받은 클래스는 무조건 abstract class의 abstract method를 오버라이딩해서 구현해..
[Java] 실습 - 구글 출제문제 풀어보기(1~1000사이의 정수 중 8의 총 개수) 구글 입사문제로 1~10000 사이의 정수 중 8의 총 개수를 물어보는 문제가 나왔다고 한다. 조금 축소해서 1~1000 사이의 정수 중 8의 총 개수를 구하여 출력해보자 예를 들면 888 > 3개 8128 > 2개 8808 > 3개 이런 식으로 갯수를 카운트 한다. . . -접근방법 1부터 1000까지 숫자를 줄바꿈없이 나열하여 String에 저장한다. ex) 1234567891011121314......9991000 앞에서부터 하나씩 쪼개서 8의 개수를 확인한다. /* 1~1000 사이의 정수 중 8의 총 개수를 구하여 출력 */ class GoogleExam { public static void main(String[] args) { String GoogleExam = ""; int cnt = 0;..