목록전체 글 (16)
이상민
10-1 예외 클래스예외란?실행 중 발생하는 오류를 객체로 표현한 것.프로그램이 비정상 종료되지 않도록 예외 처리가 필요.예외의 종류일반 예외컴파일 단계에서 예외 처리 강제예: ClassNotFoundException, IOException, InterruptedException실행 예외실행 중 발생, 예외 처리 선택예: NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException대표 실행 예외NullPointerException → null 객체 접근 시 발생ArrayIndexOutOfBoundsException → 잘못된 배열 인덱스NumberFormatException → 잘못된 문자열 숫자 변환ClassCastExcepti..
08-1 인터페이스 1. 인터페이스란?인터페이스는 추상 메서드의 집합.상수, 추상 메서드, 디폴트 메서드, 정적 메서드 포함 가능 (Java 8부터).다형성 구현의 핵심 수단. 2. 인터페이스 선언interface InterfaceName { // 상수 int MAX = 100; // 추상 메서드 void methodA(); // default 메서드 (Java 8~) default void methodB() { System.out.println("기본 구현"); } // static 메서드 (Java 8~) static void staticMethod() { System.out.println("정적 메서드"..
07-1 상속 1. 상속의 개념부모 클래스의 필드와 메서드를 자식 클래스가 물려받는 것.코드 재사용을 높이고 유지 보수를 쉽게 만듦. 2. 상속 문법class 자식클래스 extends 부모클래스 { // 자식 클래스 내용 }한 클래스만 상속 가능 (자바는 단일 상속). 3. 부모 생성자 호출 (super)자식 객체 생성 시 먼저 부모 객체가 생성됨.부모 생성자를 명시적으로 호출하려면 super() 사용.부모에 매개변수 있는 생성자가 있으면 반드시 super(매개변수)로 호출해야 함. 4. 메서드 오버라이딩 (재정의)자식 클래스가 부모 클래스의 메서드를 다시 정의하는 것.조건:메서드 이름, 매개변수 동일접근 제한자는 더 좁게 못 바꿈@Override 애너테이션 권장 사용 5. final 키워드fin..
혼자공부하는 자바 3주차 (p.234 ~ p.329) 06. 클래스 06-1 객체 지향 프로그래밍클래스객체를 만들기 위한 설계도객체클래스로부터 생성된 실체, new 클래스이름(); 으로 생성new 연산자객체를 생성하고 생성자 호출, 객체 번지를 리턴클래스 변수클래스 타입으로 선언된 변수 (객체 참조 저장)인스턴스객체는 클래스의 인스턴스클래스 멤버클래스 내 선언된 필드, 메서드, 생성자 06-2 필드 필드 선언클래스 중괄호 {} 안에서 선언. 생성자/메서드 내부에서는 ❌필드 사용클래스 내부에서는 바로 사용 가능, 외부에서는 객체 생성 후 접근 필요public class Car { String model; // 필드 } 06-3 생성자 기본 생성자컴파일러가 자동 추가 (다른 생성자 없..
2025.07.15 (화)12:00 ~ 15:00백준 알고리즘 문제 풀이10828번 (스택)9012번 (괄호)4949번 (균형잡힌 세상)1260번 (DFS와 BFS)1966번 (프린터 큐) · 1260번 (DFS와 BFS): DFS는 재귀함수로, BFS는 deque를 사용해 구현했습니다. 노드를 오름차순으로 방문하기 위해 정렬을 추가했고, DFS와 BFS의 차이점과 특성을 체감하며 학습할 수 있는 좋은 기회였습니다. · 1966번 (프린터 큐): 큐를 이용해 우선순위를 고려하여 특정 문서가 언제 출력되는지 계산하는 문제였습니다. 반복문 탈출 조건을 정확히 맞추는 것이 관건이었고, 큐의 순환 처리도 연습할 수 있었습니다. · 10828번 (스택): 스택의 기본 동작을 구현하는 문제로, push, ..
혼자공부하는 자바 2주차 (p.156 ~ p.232) 04. 조건문과 반복문04-1 조건문: if, switch구문설명if (조건) { 실행문; }조건이 참이면 블록 실행if ... else조건이 거짓이면 else 블록 실행if ... else if ... else다중 조건 분기 처리switch (변수) { case 값: ... break; default: ... }변수의 값에 따라 분기 실행예제 코드 (switch):Scanner sc = new Scanner(System.in);int a = sc.nextInt();switch (a % 3) { case 1: System.out.println(1); break; case 2: System.out.pr..
혼자공부하는 자바 1주차 (p.28 ~ p.153) 01. 자바 시작하기01-1 프로그래미닝 언어와 자바 프로그래밍 언어란? 사람이 이해할 수 있는 언어로, 기계어와 인간 언어의 중간 다리 역할. (C, Java, Python 등)파일 구성: .java (소스파일) → javac 컴파일 → .class 바이트코드 → java 실행 (JVM 사용)JDK: 자바 개발 키트. JRE + 컴파일러 + 디버깅 도구 포함.환경변수 설정 필수: JAVA_HOME, Path💡 팁: Windows 기준 시스템 속성 > 고급 > 환경 변수 에서 등록 가능.01-2 이클립스 개발 환경 구축Eclipse: 오픈소스 IDE로 자동 완성, 디버깅, 프로젝트 관리 지원.워크스페이스: 이클립스의 작업 폴더뷰(View): 코드 편..
투 포인터 알고리즘 : 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘을 의미합니다. 흔히 2, 3, 4, 5, 6, 7번 학생을 지목해야 할 때 간단히 2번부터 7번까지의 학생이라고 부르곤 합니다. 리스트에 담긴 데이터에 순차적으로 접근해야 할 때는 시작점과 끝점 2개의 점으로 접근할 데이터의 범위를 표현할 수 있습니다. 투 포인터를 활용하여 다음과 같은 알고리즘으로 문제를 해결할 수 있습니다.시작점과 끝점이 첫 번째 원소의 인덱스를 가리키도록 합니다.현재 부분 합이 M과 같다면, 카운트합니다현재 부분 합이 M보다 작다면, end를 1 증가시킵니다현재 부분 합이 M보다 크거나 같다면, start를 1 증가시킵니다모든 경우를 확인할 때까지 2번부터 4번까지의 과정을..