년도, 월, 일이 저장되는 타입의 클래스시간이 저장되는 타입의 클래스년도, 월, 일과 함께 시간도 저장되는 타입의 클래스
객체지향 프로그래밍은 현실 세계의 객체를 모델링하여 소프트웨어를 구축하는 개념이다. 이때 중요한 개념 중 하나가 클래스와 객체다.클래스(Class): 객체를 정의하는 설계도로, 해당 클래스로부터 여러 객체(인스턴스)를 생성할 수 있습니다. 클래스는 데이터와 메소드로 구
상속은 객체지향 프로그래밍에서 중요한 개념 중 하나로, 기존의 클래스를 확장하여 새로운 클래스를 정의하는데 사용된다. 자바에서는 다음과 같은 특징을 가지고 있다:상위 클래스(Superclass) 또는 부모 클래스(Parent Class): 상속 대상이 되는 기존 클래스
상속을 통해 부모 클래스의 멤버를 자식 클래스에서 사용할 때, 부모 클래스와 자식 클래스의 멤버 이름이 충돌할 수 있다. 이때 구분하기 위해 사용되는 키워드가 super다. 또한 super() 메소드는 부모 클래스의 생성자를 호출하는데 사용된다.super 는 부모 클래
오버라이딩은 상속 관계에서 부모 클래스의 메소드를 자식 클래스에서 재정의하는 개념이다. 부모 클래스의 메소드를 자식 클래스에서 덮어쓰는 것으로, 같은 이름의 메소드를 가지고 있더라도 부모 클래스와 자식 클래스 간의 관계에 따라 동작이 달라질 수 있다.오버라이딩은 오버로
다형성은 객체 지향 프로그래밍에서 한 객체가 여러 가지 타입을 가질 수 있는 특성을 의미한다. 이는 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있음을 의미한다.다형성을 구현하기 위해서는 부모 클래스와 이를 상속받는 자식 클래스가 필요하다. 자식
추상 메소드는 선언만 있고 구현 내용이 없는 메소드를 의미한다. 이러한 메소드는 자식 클래스에서 반드시 오버라이딩(재정의)되어야 한다.위의 예시에서 print() 메소드는 추상 메소드로 선언되어 있다. 이 메소드는 구현 내용이 없으며, 자식 클래스에서 반드시 구현되어야
인터페이스는 자바에서 다중 상속과 유사한 기능을 제공한다. 추상 메소드와 상수만으로 이루어져 있으며, 클래스가 어떤 메소드를 구현해야 하는지 명시적으로 정의한다.인터페이스는 다음과 같은 구조를 가진다.위의 예시에서 InterfaceName은 인터페이스의 이름을 나타내며
내부 클래스는 클래스 내부에서 선언된 클래스를 의미한다. 일반적으로 외부 클래스의 멤버 변수나 메서드에 쉽게 접근하고자 할 때 사용된다. 내부 클래스는 외부 클래스의 멤버에 쉽게 접근할 수 있으며, 외부에서는 직접적으로 내부 클래스에 접근할 수 없다.외부 클래스의 멤버
파일 출력은 프로그램에서 처리한 데이터를 파일에 쓰는 방법을 의미한다. 자바에서는 다양한 방법으로 파일 출력을 할 수 있다.FileOutputStream: FileOutputStream 클래스를 사용하여 바이트 단위로 파일에 데이터를 출력한다.FileWriter: Fi
예외는 프로그램 실행 중에 발생하는 정상적이지 않은 상황을 가리킨다. 예를 들어, 0으로 나누기, 배열의 인덱스 초과, 없는 파일을 열려고 시도하는 등의 경우가 예외 상황에 해당한다.예외 처리는 프로그램이 예외 상황을 감지하고 그에 따른 적절한 조치를 취하는 과정을 의
람다 표현식은 자바 8부터 등장한 기능으로, 메소드를 하나의 식으로 간결하게 표현하는 것을 말한다. 이는 익명 함수로서, 함수형 프로그래밍의 기본적인 개념 중 하나이다.기존의 메소드 정의 방식은 다음과 같다.하지만 람다 표현식을 이용하면 아래와 같이 간결하게 표현할 수
스트림(Stream)은 배열, 컬렉션 등의 데이터를 하나씩 참조하여 처리할 수 있는 기능을 제공한다. 이를 통해 for문 등을 사용한 반복 작업을 줄이고 코드를 간결하게 작성할 수 있다. 스트림은 크게 세 가지 단계로 구성된다.아래 기능 외에도 여러가지가 있지만 대표적
만약 위와 같은 문제가 주어졌을 때 어떤 방법이 떠오르나요?저같은 경우 지금까지는 반복문을 통해 문제를 해결하고 있었습니다.아마 많은 분들도 그러실거라고 생각합니다.위 방법을 더욱 간단하고 코드를 간결하게 작성할 수 있는 방법에 대해서 알게 되어 소개하고자 합니다.이렇
split() 메소드는 String 클래스의 인스턴스 메소드로, 문자열을 특정 구분자를 기준으로 분할하고 그 결과를 문자열 배열로 반환합니다.split() 메소드는 두 가지 버전이 있습니다regex: 분할 기준이 될 정규 표현식입니다.limit: 분할할 최대 토큰 수를
Java에서 배열을 정렬하는 가장 간단한 방법은 Arrays 클래스의 sort() 메소드를 사용하는 것입니다. 이 메소드는 배열의 모든 요소를 오름차순으로 정렬합니다.Arrays 클래스의 sort() 메소드는 여러 버전이 있습니다. 각 버전은 다른 타입의 배열을 정렬하
|문자열|설명| |:-:|:-:| |.|임의의 한 문자를 나타냅니다.| |*|앞의 문자가 0번 이상 반복됩니다.| |+|앞의 문자가 1번 이상 반복됩니다.| |?|앞의 문자가 0번 또는 1번 나타납니다.| |{n}|앞의 문자가 n번 반복됩니다.| |{n,}|앞의 문자가 n번 이상 반복됩니다.| |{n,m}|앞의 문자가 n번 이상, m번 이하 반복됩니다.| ...
Java에서 Comparator 인터페이스는 두 객체를 비교하는 데 사용되는 메소드를 정의합니다. 이 인터페이스는 주로 객체의 리스트나 배열을 사용자 정의 순서로 정렬하는 데 사용됩니다.Comparator 인터페이스를 구현하려면 compare(T o1, T o2) 메소
BigInteger는 int와 long이 표현하는 범위보다 더 큰 범위의 숫자를 저장할 수 있습니다.int (4 byte) : -2,147,483,648 ~ 2,147,483,647long (8 byte) : -9,223,372,036,854,775,808 ~ 9,22
BigDecimal은 float와 double이 표현하는 범위보다 더 큰 범위의 숫자를 저장할 수 있습니다.float : 1.4E-45 ~ 3.4028235E38double : 4.9E-324 ~ 1.7976931348623157E308BigDecimal : 무한 (I
StringBuffer는 가변적인 문자열을 다루는 클래스로, 한 번 생성된 StringBuffer 객체는 문자열 값을 바꿀 수 있습니다.StringBuffer는 내부적으로 독립적인 공간 버퍼를 가지고 있습니다. 이 버퍼의 크기는 문자열 길이에 따라 가변적으로 변합니다.