본문 바로가기

전체 글292

2024.07.22 (월) { 예외처리, try-catch } predicate 인터페이스 if (condition.test(item)) Predicateboolean test(T t);​- T를 인자로 받고, Boolean형을 리턴한다 어레이리스트, 링크드리스트 장단점 언체크드는 던지기할필요 x자바 가상 머신(JVM)이 발생시키는 예외자바 가상 머신(JVM)은 프로그램 실행 중에 다양한 예외를 발생시킬 수 있습니다. 이러한 예외는 주로 런타임 오류로 인해 발생하며, 프로그램의 정상적인 실행을 방해할 수 있습니다. 자바의 예외는 java.lang.Throwable 클래스의 서브클래스로 표현됩니다. Exception과 Error 두 가지 주요 서브클래스가 있습니다. 주요 예외 클래스Exception: 프로그램의 논리적 오류나 외부 조건으로 인해 발생하는 예외. 주로 .. 2024. 7. 22.
#9 Lesson: Classes and Objects 4[Lambda, Enum] Lambda Expressions익명 클래스의 한 가지 문제는 익명 클래스의 구현이 메서드가 하나만 포함된 인터페이스와 같이 매우 간단한 경우 익명 클래스의 신택스가 다루기 힘들고 명확하지 않게 보일 수 있다는 것입니다. 이러한 경우 일반적으로 누군가가 버튼을 클릭할 때 어떤 작업을 수행해야 하는지와 같은 기능을 다른 메서드에 아규먼트로 전달하려고 합니다. 람다 expression을 사용하면 특정 기능을 메서드 아규먼트로 처리하거나 코드를 데이터로 처리할 수 있습니다. 이전 섹션인 익명 클래스에서는 이름을 지정하지 않고 기본 클래스를 구현하는 방법을 보여줍니다. 이는 명명된 클래스보다 더 간결한 경우가 많지만 메서드가 하나만 있는 클래스의 경우 익명 클래스라도 다소 과도하고 번거로워 보입니다. 람다 ex.. 2024. 7. 22.
#8 Lesson: Classes and Objects 3[Nested Classes, Local and Anonymous Classes] Nested Classes자바 프로그래밍 언어에서는 한 클래스 내에 다른 클래스를 정의할 수 있습니다. 이러한 클래스를 Nested Class(중첩 클래스)라고 하며, 여기서 그 예를 보여줍니다.class OuterClass { ... class NestedClass { ... }} 용어: 중첩 클래스는 두 가지 범주로 분류됩니다:non-static 과 static.Non-static 중첩 클래스는 inner 클래스라고 합니다.static으로 선언된 중첩 클래스들은 static nested 클래스라고 합니다.외부 클래스 : 내부 클래스를 정의한, 감싸고 있는 클래스.class OuterClass { ... class InnerClass { ... .. 2024. 7. 21.
#7 Lesson: Classes and Objects 2 Objects일반적인 자바 프로그램은 많은 객체를 생성하며, 이 객체들은 메서드를 호출하여 상호 작용합니다. 이러한 객체 상호 작용을 통해 프로그램은 GUI 구현, 애니메이션 실행, 네트워크를 통한 정보 송수신 등 다양한 작업을 수행할 수 있습니다. 객체가 생성된 목적을 다하면, 해당 객체의 자원은 다른 객체에서 재사용할 수 있도록 회수됩니다.다음은 CreateObjectDemo라는 작은 프로그램으로, 이 프로그램은 하나의 Point 객체와 두 개의 Rectangle 객체를 생성합니다. 이 프로그램을 컴파일하려면 세 개의 소스 파일이 모두 필요합니다.public class Point { public int x = 0; public int y = 0; // a constructor! pub.. 2024. 7. 21.
자바(JAVA)의 예외(Exception) 자바에서 예외(Exception)는 크게 두 가지로 분류됩니다: 체크드 예외(Checked Exception)와 언체크드 예외(Unchecked Exception). 여기서는 체크드 예외에 대해 설명하겠습니다. 체크드 예외 (Checked Exception)체크드 예외는 컴파일러가 예외 처리를 강제하는 예외입니다. 이는 프로그램 실행 중에 발생할 가능성이 있는 예외 상황을 미리 예측하고, 이에 대한 처리를 명시적으로 작성하도록 합니다. 체크드 예외는 Exception 클래스의 서브클래스이며, RuntimeException 클래스의 서브클래스는 아닙니다.특징컴파일 시 검사:체크드 예외는 컴파일러에 의해 검사됩니다. 즉, 컴파일 시에 체크드 예외가 제대로 처리되지 않으면 컴파일 오류가 발생합니다.명시적 예외.. 2024. 7. 19.
2024.07.19 (금) { 얕은&깊은복사 , 컬렉션구현방식, sublist - view (부분집합) } Java의 컬렉션 프레임워크에 대한 설명큐(Queue) 인터페이스는 컬렉션(Collection) 인터페이스를 상속받고, 컬렉션(Collection) 인터페이스는 이터러블(Iterable) 인터페이스를 상속받습니다. 이터러블(Iterable) 인터페이스에는 이터레이터(Iterator) 인터페이스가 정의되어 있습니다.얕은 복사 (Shallow Copy)얕은 복사는 객체의 최상위 수준만 복사하며, 중첩된 객체들은 원본 객체와 같은 참조를 공유하게 됩니다. 즉, 객체의 직접적인 속성만 복사되고, 그 속성이 참조하는 다른 객체들은 원본 객체와 동일한 참조를 가집니다.특징:최상위 객체의 속성만 복사중첩된 객체는 동일한 참조를 공유메모리 사용량 적음원본 객체의 중첩된 객체를 수정하면 복사된 객체에도 영향을 미침 깊은.. 2024. 7. 19.