패턴 매칭(Pattern Matching)
·
Java 문법정리 (Array부터)
패턴 매칭(Pattern Matching)이란?패턴 매칭은 문자열 데이터에서 특정 규칙(패턴)을 사용하여 원하는 부분을 추출하거나 확인하는 기술입니다. 주로 정규 표현식(Regualr Expression)을 활용하며 문자열을 분해, 분석, 검증하는 데 널리 사용된다. 패턴 매칭의 동작 방식패턴 매칭은 두 가지 주요 단계로 이루어진다. 패턴 정의 정규 표현식으로 문자열의 구조를 정의합니다.예를 들어, (\d{1, 2})([SDT])([*#]?)는 다트 점수 문자열에서 숫자, 보너스, 옵션을 추출하기 위한 패턴이다. 패턴 적용문자열과 정규식을 비교하며 패턴과 일치하는 부분을 추출하거나 매칭 결과를 반환한다. 패턴 매칭의 활용자바에서는 java.util.regex 패키지의 pattern 클래스와 Matcher..
동등성, 동일성
·
Java 문법정리 (Array부터)
자바에서 동등성과 동일성은 객체의 비교와 관련된 두 가지 중요한 개념이다.이 두 개념은 객체를 비교할 때 매우 중요한 역할을 한다.1. 동등성 (Equality)동등성은 두 객체가 논리적으로 같은지를 판단하는 개념. 자바에서 동등성을 비교할 때 주로 equals() 메서드를 사용한다. equals() 메서드는 객체의 논리적 동등성을 비교하는 데 사용되며, Object 클래스에서 기본적으로 정의되어 있다.기본 동작Object 클래스의 기본 equals() 메서드는 객체의 참조를 비교한다. 즉, 두 객체가 동일한 메모리 주소를 참조하는지를 비교한다. 이는 객체의 실제 내용을 비교하지 않는다.public class Person { private String name; private int age; ..
Enum
·
Java 문법정리 (Array부터)
일단 Enum의 아주 간단한 의미는 Enum(열거형)은 프로그래밍에서 상수 집합을 정의하는 자료형이다. Enum을 사용하면 관련된 상수 값을 그룹화하여 코드의 가독성을 높이고, 값의 범위도 제한 가능하다. 특징 정의된 상수 집합: Enum은 특정 상수 값들의 집합을 정의. 예를 들어, 요일이나 월, 상태 코드 등을 정의할 때 사용타입 안정성: Enum은 코드에서 정의한 상수 값만을 허용하기 때문에 타입 안전성을 제공. 이는 잘못된 값의 사용을 방지할 수 있다.가독성: 코드의 의미를 명확하게 하기 때문에 코드의 가독성을 높인다. 상수를 직접 사용하는 것보다 더 직관적이고 이해하기 쉬운 코드 작성을 도울수 있다.내장 메서드: 대부분의 프로그래밍 언어에서는 Enum에 대해 다양한 내장 메서드를 제공하여 상수 ..
Interface
·
Java 문법정리 (Array부터)
인터페이스의 기본 개념인터페이스는 클래스와 비슷하지만, 객체를 생성할순 없다.메서드 정의만 가능!실제 구현은 구현하는 클래스가 제공 인터페이스 정의EX)public interface Animal { void eat(); void sleep();} 인터페이스는 interface 키워드를 사용하여 정의한다.메서드의 서명만을 정의메서드 구현은 x 인터페이스 구현인터페이스를 구현하는 클래스는 implements 키워드를 사용하여 인터페이스를 구현함.인터페이스에 정의된 모든 메서드를 구현해야 한다.인터페이스받은 클래스의 메서드는 오버로드를 한다.public class Dog implements Animal { @Override public void eat() { System.ou..
Calendar(java 8이후는 java.time)
·
Java 문법정리 (Array부터)
Calendar 클래스를 사용하면 날짜와 시간을 조작하고, 날짜와 시간 정보를 쉽게 다루기 가능! 기능날짜 및 시간 설정날짜 및 시간 추출날짜 및 시간 계산날짜 및 시간 비교 Calendar 클래스의 기본 사용법Calendar 클래스는 추상 클래스이므로, 직접 인스턴스를 생성할 수 없다. 대신, Calendar.getInstance() 메소드를 사용하여 Calendar 객체를 얻는다. import java.util.Calendar;public class CalendarExample { public static void main(String[] args) { // Calendar 객체 생성 Calendar calendar = Calendar.getInstance(); ..
기본형 매개변수, 참조형 매개변수
·
Java 문법정리 (Array부터)
매개변수는 메서드나 생성자에 데이터를 전달할 때 사용한다. 자바의 매개변수는 크게 두 가지로 나눌 수 있다.기본형(primitive type) 매개변수와 참조형(reference type) 매개변수입니다. 이 두 가지 매개변수 타입은 메서드에 전달되는 방식과 처리 방식이 다르다. 기본형(Primitive Type) 매개변수기본형 매개변수는 값 자체를 전달한다. 자바의 기본형 데이터 타입에는 int, float, double, char, boolean, byte, short, long 등이 있다. 기본형 매개변수는 메서드 호출 시 복사되어 전달된다. 따라서 메서드 내에서 매개변수의 값을 변경해도 원래 값에는 영향을 미치지 않는다. public class Main { public static void ..
return 문
·
Java 문법정리 (Array부터)
return 문은 자바에서 메서드가 값을 반환하고 메서드의 실행을 종료하는 데 사용된다. return 문은 메서드의 반환 타입에 맞춰 반환할 값을 지정해야 한다. 또한, return 문은 메서드의 종료를 강제로 가능하다. 여기서 두 가지 경우로 나타낸다. 메서드가 값을 반환하는 경우메서드의 반환 타입이 void가 아닌 경우, return 문은 해당 타입의 값을 반환해야 한다.public class Calculator { // int 타입의 값을 반환하는 메서드 public int add(int a, int b) { return a + b; // 덧셈 결과를 반환 } // double 타입의 값을 반환하는 메서드 public double divide(double a..
클래스 설계 단계
·
Java 문법정리 (Array부터)
클래스 설계 단계클래스의 구성 멤버에는 필드, 생성자, 메서드가 있다. 필드 (Fields)필드는 클래스의 상태를 나타내는 변수다. 클래스의 인스턴스가 가지는 데이터를 저장하며, 클래스 내부에서 사용된다.필드는 인스턴스 변수, 클래스 변수(정적 변수)로 나뉜다. 종류:인스턴스 변수: 객체가 생성될 때마다 해당 객체에 대한 고유한 상태를 나타내는 변수입니다. 각 객체는 독립적인 값을 가진다.private String model; // 인스턴스 변수private int year; // 인스턴스 변수클래스 변수 (static): 클래스 자체에 속하며, 모든 객체가 공유하는 상태를 나타내는 변수입니다. static 키워드로 선언됩니다.private static int totalCars; // 클래스..
객체란?
·
Java 문법정리 (Array부터)
자바 객체 지향에 대해 설명하는데 앞서 객체에 대해 짚고 넘어갈려고 한다. 왜냐하면 자바는 객체 지향 프로그래밍 언어 중 하나로 모든것이 객체를 중심으로 돌아가기 때문! 형식적인 객체의 의미객체(Object)는 현실 세계의 사물이나 개념을 컴퓨터 프로그램으로 표현한 것.예를 들어 자동차, 사람, 동물, 등 큰 개념의 묶음. 클래스와 객체의 관계 클래스는 설계도겁나 간단히 설명하면클래스 -> 레고 블록을 만들기 위한 설명서이게 있어야 사진에 나오는 작품을 만들 수 있기에 매우 중요하다즉 클래스가 있어야 객체를 만들 수 있다. 코드로 보는 예자동차 객체를 만들기 위해 'Car라는 클래스를 정의 가능.Car 클래스는 자동차가 가져야 할 속성(예: 색상, 모델, 속도)과 행동(예: 가속, 멈추기)을 정의publ..
StringBuffer, StringBuilder
·
Java 문법정리 (Array부터)
StringBuffer란?StringBuffer는 가변(mutable) 문자열 클래스문자열을 수정해도 새로운 객체를 생성하지 않고, 기존 객체를 변경StringBuffer는 내부적으로 문자열을 변경할 때 배열을 사용하므로 성능이 좋음StringBuffer는 동기화(synchronized)되어 있어, 멀티스레드 환경에서도 안전하게 사용가능문자열 연결String을 사용하여 문자열을 여러 번 연결할 때String str = "";for (int i = 0; i  위 코드에서 매번 문자열을 연결할 때마다 새로운 String  객체가 생성된다. 하지만 이는 비 효율적이기에 StringBuffer를 사용한다. StringBuffer를 사용하여 문자열을 연결할 때StringBuffer buffer = new Stri..