본문 바로가기
반응형

프로그래밍/JAVA58

초보 자바 프로그래밍(58) - Thread 동기화 🔖 INDEX Java에서 스레드 간의 동기화는 여러 스레드가 동시에 동일한 자원에 접근할 때 발생하는 데이터 무결성 문제를 방지하기 위해 사용됩니다. 여기서 주의해야 할 가장 중요한 개념은 '공유된 자원'에 대한 동시 수정을 방지하는 것입니다. synchronized Synchronized는 Java에서 객체의 임계 영역(critical section)에 대한 동시 접근을 제한하기 위한 동기화 키워드입니다. 이 키워드를 사용하면 한 번에 하나의 스레드만 해당 코드 블록이나 메서드에 접근할 수 있으므로 다른 스레드들은 잠금이 해제될 때까지 대기해야 합니다. 사용 방법 메서드에 synchronized 사용: 전체 메서드를 동기화합니다. public synchronized void synchronizedMe.. 2023. 10. 4.
초보 자바 프로그래밍(57) - Thread 🔖 INDEX Thread (스레드) 개념 Java는 멀티 스레딩을 지원하는 프로그래밍 언어입니다. 이를 통해 개발자는 동시에 여러 작업을 수행할 수 있게 됩니다. Thread (스레드)란? 스레드는 컴퓨터 프로그램 내에서, 특히 프로세스 내에서 실행되는 가장 작은 단위의 처리입니다. 스레드는 동일한 프로세스의 메모리를 공유하면서 독립적으로 실행될 수 있습니다. 이를 통해 여러 작업을 병렬로 처리하거나 비동기적으로 처리하는 것이 가능해집니다. 스레드의 중요성 동시성: 멀티스레드를 활용하면 하나의 프로세스 내에서 여러 작업을 동시에 수행할 수 있습니다. 이는 특히 I/O 바운드 작업이 많은 프로그램에서 성능 향상을 가져올 수 있습니다. 자원 공유: 스레드는 동일한 프로세스 내에서 메모리와 리소스를 공유하기.. 2023. 10. 3.
초보 자바 프로그래밍(56) - Exception Handling (try-catch-finally, throws) 🔖 INDEX Exception Handling (예외 처리) Exception Handling (예외 처리)는 프로그램의 안정성을 확보하고, 예기치 않은 상황에 대응하는 중요한 기술입니다. 자바에서는 주로 try-catch-finally 및 throws를 이용한 예외 처리 방법을 제공합니다. try-catch-finally 구문 사용 try-catch-finally 구문은 자바에서 예외 처리를 위해 사용되는 구문입니다. 예외는 프로그램이 정상적으로 실행되지 않을 때 발생하는 상황을 나타냅니다. 예외 처리는 이러한 상황을 안전하게 관리하고 프로그램의 흐름을 제어하는 방법을 제공합니다. 구조 try { // 예외가 발생할 수 있는 코드 } catch (ExceptionType1 e) { // Excepti.. 2023. 10. 3.
초보 자바 프로그래밍(55) - Error와 Exception 🔖 INDEX Error Error는 시스템 수준에서 일어나는 심각한 문제를 나타내며, 일반적으로 개발자의 애플리케이션 코드에서 처리할 수 없습니다. 이들은 주로 JVM(Java Virtual Machine)에서 일어나며, OutOfMemoryError와 StackOverflowError가 대표적입니다. OutOfMemoryError: 이 오류는 JVM이 더 이상 메모리를 할당할 수 없을 때 발생합니다. 예를 들어, 너무 큰 배열을 생성하려고 하면 이 오류가 발생할 수 있습니다. public class Main { public static void main(String[] args) { int[] arr = new int[Integer.MAX_VALUE]; // OutOfMemoryError 발생 } }.. 2023. 6. 4.
초보 자바 프로그래밍(54) - 인터페이스와 추상클래스 🔖 INDEX 객체 지향 프로그래밍의 주요 원칙 중 하나는 상속입니다. 이는 기존의 클래스를 기반으로 새로운 클래스를 생성할 수 있게 합니다. 그러나, 때로는 메서드를 실제로 구현하지 않고 클래스의 "청사진"을 정의하고 싶을 때가 있습니다. 이때 추상 클래스와 인터페이스가 등장합니다. 이 글에서는 Java의 두 중요한 개념인 인터페이스와 추상 클래스에 대해 자세히 설명하겠습니다. 추상 클래스 Java에서 추상 클래스란 인스턴스화할 수 없는 클래스를 말합니다. 즉, 추상 클래스의 객체를 생성할 수 없습니다. 추상 클래스는 하위 클래스의 기반이 됩니다. 추상 클래스의 목적은 여러 파생 클래스가 공유할 수 있는 기본 클래스의 공통 정의를 제공하는 것입니다. 추상 클래스 정의하기 추상 클래스를 선언하려면 abs.. 2023. 5. 21.
초보 자바 프로그래밍(53) - super / super 메서드 🔖 INDEX super 키워드 'super' 키워드는 하위 클래스에서 상위 클래스의 멤버(필드 또는 메서드)에 접근하기 위해 사용됩니다. 상속 관계에서 하위 클래스는 상위 클래스의 멤버를 상속받지만, 동일한 이름의 멤버가 존재할 경우에는 'super' 키워드를 사용하여 상위 클래스의 멤버에 접근할 수 있습니다. 'super' 키워드는 상위 클래스의 멤버에 접근하는 데 사용되며, 'super.멤버이름' 형식으로 사용됩니다. class Animal { String name; Animal(String name) { this.name = name; } void sound() { System.out.println("동물이 소리를 내고 있습니다."); } } class Cat extends Animal { Str.. 2023. 5. 16.
반응형