Java 12

Java Scanner Class

Scanner 클래스는 사용자로부터 입력을 받기 위해 Java에서 가장 많이 사용되는 클래스 중 하나입니다. 이 클래스는 콘솔이나 파일 등에서 데이터를 읽어들일 때 편리하게 사용할 수 있습니다.1. 기본 개념Scanner 클래스는 java.util.Scanner 패키지에 포함되어 있습니다. Scanner를 사용하면 콘솔에서 입력을 받을 수 있을 뿐만 아니라, 파일, 문자열, 기타 입력 소스에서 데이터 읽기가 가능합니다.2. 기본 사용법콘솔에서 입력을 받는 간단한 예제:import java.util.Scanner;public class Main { public static void main(String[] args) { // Scanner 객체 생성 (System.in은 콘솔 입력을 의미..

Java 2024.09.20

숫자 야구 Game 구현 및 Troubleshooting

Level 1 : 기본 Game 구현 Game 규칙목표 : Computer가 생성한 random 3자리 숫자를 player가 맞추는 game숫자에 대한 요구사항각 자리는 1-9 사이의 숫자동일한 숫자는 사용될 수 없다. 즉, 숫자는 중복되지 않아야 한다.ex) 333, 112, 119 불가능게임 결과: 각 시도에 대해 'Strike'와 'Ball'의 개수를 출력하여 플레이어가 숫자를 맞출 수 있도록 유도한다.Player가 요구사항에 따라 Keyboard으로부터 숫자를 입력한다 1. Game의 주요 흐름과 단계Game 시작Random 숫자 생성Player 입력 받기: 유효한 입력인지 확인. 요구사항을 맞지 않은 경우는 메시지로 알려고 다시 입력 받음Random 숫자와 입력된 숫자의 비교: Strike와 B..

Java 2024.09.20

'indexOf()' Method, StringBuilder Class

1- "indexof()" MethodindexOf()는 주어진 문자열 내에서 특정 문자나 부분 문자열이 처음으로 나타나는 위치를 반환하는 내장 메서드(built-in method)입니다.문자나 부분 문자열을 찾을 수 없을 경우, indexOf() method는 '-1'을 반환합니다. Syntaxpublic int indexOf(String str)public int indexOf(String str, int fromIndex)public int indexOf(int char)public int indexOf(int char, int fromIndex) - str: 문자열을 찾기 위한 String 값- fromIndex: 검색을 시작할 위치를 나타내는 int 값- char: 단일 문자를 나타내는 int ..

Java 2024.09.19

Java Lambda Expression & Stream API

1. Lambda Expression Lambda expression은 익명 함수(anonymous function)를 간단하게 작성할 수 있게 해줍니다. Syntax(parameter(s)) -> {function body} or expression    2. Stream APIStream API는 컬렉션과 같은 요소들의 sequence를 선언적으로 처리하는 데 사용됩니다. Stream을 통해 filtering, mapping, 그리고 축소(reduce)와 같은 작업을 간결하고 읽기 쉽게 할 수 있습니다.  주요 스트림 연산:filter(): 조건에 맞는 요소들만 걸러냅니다.map(): 각 요소를 변환합니다.reduce(): 요소들을 하나의 값으로 축소합니다 (예: 합계 계산).forEach(): 각 ..

Java 2024.09.13

Java Collection Interface

Java Collection Interface는 객체(object)들의 그룹(group)을 다루기 위한 Interface와 Class들의 집합을 제공합니다.  InterfaceSubinterfaceClasses특징CollectionList- ArrayList- LinkedList- Vector- Stack (Last-In-First-Out: 마지막에 들어온 원소가 먼저 나간다)순서가 있는 데이터의 집합 (데이터 중복 허용)Set- HashSet- TreeSet순서가 없는 데이터 집합 (데이터 중복 허용 안 함)QueuePriorityQueueFirst-In-First-Out (처음 들어온 원소가 가장 먼저 나간다) 방식을 사용하는 데이터 집합MapSortedMap- HashTable- LinkedHash..

Java 2024.09.12

Java Error & Exception

1. 예외 (Exception)정의: 예외는 프로그램 실행 중 발생하는 사건으로, 정상적인 명령 흐름을 방해합니다. 예외는 예측할 수 있고 프로그램에서 처리할 수 있는 조건에 의해 발생하는 경우가 많습니다.예외의 종류:체크드 예외(Checked Exceptions): 컴파일 시점에서 체크되는 예외입니다. 프로그래머는 try-catch 블록을 사용하거나 메서드 시그니처에 throws 키워드를 사용하여 이러한 예외를 처리해야 합니다.예시: IOException, SQLException, ClassNotFoundException언체크드 예외(Unchecked Exceptions 또는 런타임 예외(Runtime Exception)): 실행 중에 발생하는 예외로, 컴파일 시점에서 체크되지 않습니다. 프로그래머는 ..

Java 2024.09.09

Interface, Default, Static, Polymorphism(다형성)

Interface(인터페이스)Interface는 클래스와 유사한 참조 타입으로, 상수, 메서드 시그니처, 기본 메서드, 정적 메서드, 중첩 타입만을 포함할 수 있습니다. 인터페이스는 인스턴스 필드나 생성자를 포함할 수 없습니다. 인터페이스 내의 메서드는 기본적으로 추상적이며, 메서드의 본문을 가지지 않습니다(기본 메서드와 정적 메서드는 제외). Interface 의 주요 특징:추상 메서드: 인터페이스 내의 모든 메서드는 암묵적으로 public과 abstract로 선언되며, 기본 메서드와 정적 메서드는 예외입니다.다중 상속: 클래스는 여러 인터페이스를 구현할 수 있어 Java에서 다중 상속을 지원합니다.기본 메서드: Java 8부터 인터페이스는 메서드 구현을 제공하는 기본 메서드를 가질 수 있습니다.정적 ..

Java 2024.09.09

Java (접근 제어자, 상속의 개념)

Java Programming 언어를 배우면서 잘 이해해야 되는 개념들이 많습니다. 그렇기 때문에 하루 하루에 몇 개씩을 정리하여 기록하고 있습니다. 접근 제어자(Modifiers)1. public가시성: 어디서나 접근 가능 (다른 Class, Package에서도 접근 가능)사용처: 해당 Class, Method 또는 변수를 다른 Package의 code에서도 접근할 수 있게 하고 싶을 때 사용합니다.2. private가시성: 같은 클래스 내에서만 접근 가능사용처: 해당 클래스 외부에서는 접근할 수 없도록 변수를 은닉하거나 메서드를 제한할 때 사용합니다. 3. protected가시성: 같은 클래스, 같은 패키지, 그리고 다른 패키지의 서브클래스에서 접근 가능사용처: 다른 패키지의 서브클래스에서 접근할 수..

Java 2024.09.05

Java Class

객체(Object)의 개념객체는 현실 세계의 개념을 소프트웨어로 모델링한 것입니다. 예를 들어, 자동차, 사람, 책 등을 객체로 표현할 수 있습니다. Java에서 객체는 메모리에 생성되어 프로그램에서 사용되며, 객체는 상태와 행동을 가지게 됩니다.상태(State): 객체의 속성을 나타내며, 필드(Field or variable(변수))로 표현됩니다.행동(Behavior): 객체가 할 수 있는 동작을 나타내며, 메서드(Method or function)로 표현됩니다.Class 개념클래스 (Class): 객체를 생성하기 위한 만드는 것입니다.필드 (Field): 클래스나 객체(Instance, 인스턴스)의 데이터를 저장하는 변수입니다.메서드 (Method): 객체의 동작을 정의하는 함수입니다.    객체의 ..

Java 2024.09.04