자바에서 오류 처리는 예외(Exception)를 통해 관리됩니다. 프로그램 실행 중 발생할 수 있는 다양한 오류를 예외로 정의하고, 이를 처리하거나 방지하는 구조를 설계하는 것이 중요합니다.기본적인 예외 처리 구조자바에서 예외 처리는 try-catch 블록을 사용합니다. try 블록은 예외가 발생할 수 있는 코드를 포함하고, catch 블록은 예외가 발생했을 때 실행되는 코드를 작성합니다.예외가 발생할 수 있는 코드, 예외를 발생했을 때 실행되는 코드라는 말을 이해하셔야 합니다.try { ; ; ...} catch(예외1) { ; ...} catch(예외2) { ; ...} 아래 코드는 0으로 나누는 연산이 발생했을 때, ArithmeticException 예외를 잡..
toString() 메서드toString() 메서드는 Java에서 객체를 문자열로 표현하기 위해 사용하는 메서드입니다.모든 클래스는 Object 클래스를 상속받으며, toString() 메서드는 Object 클래스에서 기본적으로 제공됩니다.toString 의 일반 규약은 '간결하면서 사람이 읽기 쉬운 형태의 유익한 정보' 라고 정의되어 있습니다.toString()의 기본 동작Object 클래스의 toString() 메서드는 다음과 같은 문자열을 반환합니다.ClassName@HashCodeInHex 위에서 사람이 읽기 쉬운 형태의 유익한 정보라고 했는데 기대와 달리 전혀 간결하지도, 읽기 쉽지도, 유익하지도 않습니다. java.lang 패키지의 Object 클래스의 toString 메서드의 구현을 살펴보면..
String은 Java에서 가장 많이 사용되는 클래스 중 하나로, 문자열(텍스트 데이터)을 다루기 위해 설계된 불변(Immutable) 클래스입니다.java.lang.String 클래스는 기본적으로 Java 프로그램에서 자동으로 임포트 되며, 문자열을 효율적으로 처리할 수 있도록 다양한 기능과 메서드를 제공합니다.String의 특징불변성 (Immutability)String 객체는 한번 생성하고 나면 절대 변경할 수 없습니다. 따라서 문자열을 수정하려고 하면, 기존 문자열을 바꾸는 대신 새로운 String 객체를 생성합니다.String str = "Hello";str.concat("World"); // 새로운 문자열 생성, str은 여전히 "Hello"System.out.println(str); // 출..
설명일반적인 클래스는 구체적으로 데이터를 담아 인스턴스화 하여 직접 다루는 클래스입니다.그 반대로 클래스는 구체적이지 않은 추상적인 데이터를 담고 있는 클래스입니다. 그래서 추상 클래스는 일반 클래스와 달리 인스턴스화가 불가능한 클래스이며, 추상 클래스를 선언할때는 abstract 키워드를 사용한다는 차이점이 있다고 말하곤 합니다.실제로 어떤 앱을 만드냐에 따라 다르게 구현해야할 내용이 달라지므로, 따로 코드에서 구현하도록 하기 위해 선언만 해놓은 것이 추상 클래스의 추상 메서드입니다.추상 클래스 기본 문법자바에서는 abstract 키워드를 클래스명과 메서드명 옆에 붙임으로서 컴파일러에게 추상클래스와 추상 메서드임을 알려주게 됩니다. 추상 메서드는 작동 로직은 없고 이름이 있는 껍데기 메서드라고 보시면 ..
설명하나의 데이터 타입을 다른 타입으로 바꾸는 것을 타입 변환 혹은 형변환이라고 합니다. 기본적으로 자바에서는 대입 연산자 = 에서 변수와 값 서로 양쪽의 타입이 일치하지 않으면 할당이 불가능합니다.프로그램에서 값의 대입이나 연산을 수행할 때는 같은 타입끼리만 가능하기 때문입니다.long d = 10.233; // ERROR 그래서 다음과 같이 캐스팅 연산자를 사용하여 강제적으로 타입을 지정하여 변수에 대입하도록 해야 합니다.long d = (long)10.233; 상속 관계의 클래스는 크게 부모클래스와 자식클래스로 구분할 수 있습니다.기본형 타입을 서로 형변환 할 수 있듯이, 자바의 상속 관계에 있는 부모와 자식클래스 간에는 서로 간의 형변환이 가능합니다. 클래스는 Reference 타입으로 분류되니 ..
이 파트는 개인적인 공부로 인하여 정리했습니다.클래스자바에서 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용됩니다.자바에서는 이러한 설계도를 가지고, 여러 객체를 생성하여 사용하는 식으로 프로그래밍을 이어나갑니다.클래스는 객체의 속성 변수를 나타내는 필드(field)와 객체의 함수를 나타내는 메소드(method) 로 구성되어 있습니다.필드클래스의 필드란 클래스에 포함된 변수를 가리킵니다. 클래스 맴버라고도 불리웁니다.또한 클래스 필드는 선언된 위치와 선언자에 따라 클래스변수, 인스턴스변수, 지역변수로 구분됩니다. 클래스 영역에 위치한 변수 중에서 static 키워드를 가지는 변수를 클래스 변수,반대로 static 키워드를 가지지 않는 변수를 인스턴스 변수,메소드나 생성자 블록 내에 위치한 변..
인터페이스는 간단히 말하자면 프로그램을 설계하고 조금 더 유연한 프로그램을 만드는 기법을 말합니다.인터페이스는 추상화와 상속과 더불어 다형성이라는 객체 지향의 특징을 구현하는 핵심입니다. 인터페이스는 위키 백과에 따르면, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 상호작용 시스템을 말합니다.이러한 정의를 자바 프로그래밍에 접목해 보면, 객체의 인스턴스 메서드를 이용하는 사용자입장에서 "그 객체의 내부 구현이 어떻든 깊이 학습할 필요 없이 원하는 메서드만 호출하고 결괏값을 제대로 받게 해주는 간편한 상호작용 기능이다"라고 말할 수 있습니다. 즉, 개발자가 프레임워크를 이용하여 웹서비스를 개발하는데 있어 프레임워크의 내부 구성 학습 없이, 그저 지원해 주는 메서드를 이용하여 간편하게 프로젝트를 개발할 수..
Java에서 List, ArrayList, LinkedList는 모두 데이터를 저장하고 관리하는 데 사용되는 컬렉션 클래스와 인터페이스입니다. 하지만 각각의 구조와 사용 방식, 성능 특성이 다릅니다.컬렉션 클래스데이터를 모아놓는 "그릇" 같은 역할을 하는 클래스입니다.즉 배열처럼 여러 데이터를 한곳에 저장할 수 있지만, 크기가 고정되지 않고 데이터를 쉽게 추가하거나 삭제할 수 있는 것을 말합니다.인터페이스인터페이스는 기능만 정의하고 실제 구현은 없습니다.즉 클래스들이 따라야 할 "규칙" 이나 "약속"을 정의한 것입니다.ListList 는 인터페이스입니다. 데이터를 순서대로 저장하며, 중복된 값을 허용합니다. 또한 데이터를 추가하거나 삭제, 검색할 때 사용할 여러 메서드가 정의되어 있습니다. ArrayLi..