제네릭제네릭(Generic)은 클래스나 메서드에서 사용할 데이터 타입을 일반화해서 재사용성을 높이고 타입 안전성을 제공하는 Java의 기능입니다. 제네릭 클래스 (Generic Class)클래스 선언 시 타입 매개변수(T)를 사용하여, 해당 클래스가 특정 타입에 의존하지 않고 재사용 가능하게 만듭니다.는 타입 매개변수를 의미하며, 이는 클래스의 인스턴스를 생성할 때 구체적인 타입으로 대체됩니다.클래스 단위로 제네릭을 도입합니다.클래스를 정의할 때는 타입을 특정하지 않고, 객체를 생성하는 시점에 구체적인 타입을 지정합니다.// 제네릭 클래스 정의public class GenericClass { private T data; // T 타입의 필드 public GenericClass(T data) {..
자바에서 오류 처리는 예외(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 키워드를 가지지 않는 변수를 인스턴스 변수,메소드나 생성자 블록 내에 위치한 변..
인터페이스는 간단히 말하자면 프로그램을 설계하고 조금 더 유연한 프로그램을 만드는 기법을 말합니다.인터페이스는 추상화와 상속과 더불어 다형성이라는 객체 지향의 특징을 구현하는 핵심입니다. 인터페이스는 위키 백과에 따르면, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 상호작용 시스템을 말합니다.이러한 정의를 자바 프로그래밍에 접목해 보면, 객체의 인스턴스 메서드를 이용하는 사용자입장에서 "그 객체의 내부 구현이 어떻든 깊이 학습할 필요 없이 원하는 메서드만 호출하고 결괏값을 제대로 받게 해주는 간편한 상호작용 기능이다"라고 말할 수 있습니다. 즉, 개발자가 프레임워크를 이용하여 웹서비스를 개발하는데 있어 프레임워크의 내부 구성 학습 없이, 그저 지원해 주는 메서드를 이용하여 간편하게 프로젝트를 개발할 수..