일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- til
- 예외
- throws 키워드
- 99클럽
- 로켓펀치 #취준컴퍼니 #취업 #일상 #취준생
- try-catch-finally 블록
- 일반 예외
- 실행 예외
- 항해99
- 다중 catch 블록
- 개발자취업
- 예외 처리
- 코딩테스트준비
- 예외클래스
- Today
- Total
목록전체 글 (166)
innn
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/QH5lT/btrM8Kb9jj7/xXtqt8RjCNro6UL3KtpomK/img.png)
Object 클래스 우리가 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않더라도 암시적으로 java.lang.Object 클래스를 상속하게 된다. 따라서 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스이다. Object는 자바의 최상위 부모 클래스인 셈이다. API 도큐먼트에서 Object 클래스를 한번 찾아보자. SUMMARY 를 보면 Object 클래스는 필드가 없고, 생성자와 메소드로 구성되어 있다. 모든 클래스의 최상위 부모가 Object 이므로 모든 클래스에서 Object의 메소드를 사용할 수 있다. 객체 비교(equals()) 아래는 Object 클래스의 equals() 메소드이다. public boolean equals(Object obj) { ... ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cN4Tih/btrM9RBTdRK/3IoLwKmITTNlBsS8pugeW1/img.png)
목표 API 도큐먼트를 보고 활용할 수 있다. 자바에서 자주 사용하는 클래스를 알고 사용할수 있다. java.lang 패키지 java.lang 패키지는 자바 프로그램의 기본적인 클래스를 담고 있는 패키지이다. 그래서 java.lang 패키지에 있는 클래스와 인터페이스는 import 없이 사용할 수 있다.(대박적) 지금까지 사용한 String과 System 클래스도 사실 java.lang 패키지에 포함되어 있기 때문에 import 하지 않고 사용한 것이다. java.lang 패키지에 속하는 주요 클래스에 대해 알아보자. java.lang 패키지에 속하는 주요 클래스와 간략한 용도를 먼저 살펴보면 다음과 같다. 클래스와 그 클래스에 소속된 메소드들을 무작정 외우려고 하지 말고 API 도큐먼트에서 찾아보고, ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c3D1Xk/btrM7K96d2O/HDs8vRCDvRLdpaiftEDHlK/img.png)
프로그램에서 예외가 발생했을 경우 프로그램의 갑작스러운 종료를 막고, 정상 실행을 유지할 수 있도록 예외 처리를 해야한다. 그렇다면 이러한 예외처리를 하는 방법은 무엇일까? 자바 컴파일러는 소스 파일을 컴파일할 때 일반 예외가 발생할 가능성이 있는 코드를 발견하면 컴파일 에러를 발생시켜 개발자가 강제적으로 예외 처리 코드를 작성하도록 요구한다. 그러나 실행 예외는 컴파일러가 체크해주지 않기 때문에 개발자의 경험을 바탕으로 예외 처리 코드를 작성해야 한다. 예외 > 컴파일러 > RuntimeException (통과) (실행 예외) (넌 체크 예외) (실행 시 예측할 수 없이 갑자기 발생해서 검사 x) > RuntimeException이 아닌 경우 (검사) 예외 처리 코드 try-catch-finally 블..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/9VD2m/btrM5PJ06bq/nKyaYLrNsZYkWmxTj3MNtK/img.png)
자바에서는 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행 오류가 발생하는 것을 에러(error)라고 한다. 그리고 에러 이외에 프로그램 자체에서 발생하는 오류는 예외(exception)라고 부른다. 예외의 종류로 어떤 것이 있고, 언제 발생하는지 알아보자. 예외exeption란 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 말한다. 예외가 발생되면 프로그램은 곧바로 종료된다는 점에서는 에러와 비슷하다. 그러나 예외는 예외 처리exception handling를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 자바는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무를 확인한다. 만약 예외 처리 코드가 없다면 컴파일이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/xZ1Pg/btrMUjfjWaw/wdsHkz5KaPzavW1uG9uOQ1/img.png)
문제 003. 구간 합 구하기 수 N개가 주어졌을때 i 번째 수에서 j 번째 수까지의 합을 구하는 프로그램을 작성하시오. 입력 1번째 줄에 수의 개수 N(1
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/o7qb6/btrMVtBeJ9i/EGsXxj5Q5EKDE63H0K7bo0/img.png)
구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘이다. 코테에서 사용 빈도가 높아 꼭 알아두어야 한다고 했다. 구간 합의 핵심 이론 구간 합 알고리즘을 활용하려면 먼저 합 배열을 구해야 한다. 배열 A가 있을 때 합 배열 S는 다음과 같이 정의한다. 합 배열 S 정의 S [i] = A [0] + A [1] + A [2] + ... + A [i-1] + A [i] // A [0]부터 A [i]까지의 합 합 배열은 기존의 배열을 전처리한 배열이라고 생각하면 된다. 이렇게 합 배열을 미리 구놓으면 기존 배열의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소한다. 아래의 그림을 통해 합 배열을 좀더 자세히 설명해보자. A [i] 부터 A[j] 까지의..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dhOb15/btrMZCYceb8/3k3KLh9t6Ul4fOVkNA7fN1/img.png)
비교적 간단한 문제. 문제에 주어진 내용을 프로그래밍 해서 그 문제에 요구한 내용을 잘 이해하고 프로그래밍을 했느냐 를 본 문제다. 간단한 문제인데, ArithmeticException 에러의 뜻도 발견한 시간이었다. (이 에러의 뜻은 마지막 문단의 빨간줄만 보심 됩니다. 결론부터 말하자면, 특정 변수의 값이 0으로 초기화된 채 그대로 나누기 된 것입니다!) 문제 002. 평균 구하기 세준이는 기말고사를 망쳤다. 그래서 점수를 조작해 집에 가져가기로 결심했다. 일단 세준이는 자기 점수 중 최댓값을 골랐다. 그런 다음 최댓값을 M이라 할 때 모든 점수를 점수/M*100으로 고쳤다. 예를 들어 세준이의 최고점이 70점, 수학 점수가 50점이라면 수학 점수는 50/70*100이므로 71.43점이다. 세준이의 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tjcQO/btrMU51oNIK/PgNZ8dKGOjC3KkJDo0FX10/img.png)
자료구조는 데이터를 효율적으로 저장, 접근, 수정하기 위한 그릇이다. 코테에서는 각 문제에 주어진 입력 데이터의 형태와 사용해야 하는 알고리즘에 따라 적절한 자료구조를 선정해 사용하는 것이 매우 중요하다. 배열과 리스트 기본 자료구조인 배열과 리스트는 비슷하지만 다르 점도 많다. 두 자료구조의 특징을 정확하게 이해하고 문제가 요구하는 조건에 따라 적절하게 선택해 사용하는 것이 중요하다. 배열과 리스트의 핵심 이론 배열 배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조이다. 배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 아래 그림은 배열을 나타낸 것이다. 그림을 보면 배열에 값 1, 값 2, ... 값 6이 채워져 있고, 각 값은 0부터 5까지 인덱스가 ..