자바 11

클래스란?

Java 클래스 정리1. 클래스의 정의클래스(Class)는 객체를 생성하기 위한 청사진(Template) 또는 설계도입니다.클래스는 속성(멤버 변수)과 동작(메서드)을 정의하며, 이들을 기반으로 객체를 생성합니다.2. 클래스의 구성 요소필드(Field): 객체의 속성을 나타내는 변수.클래스 내부에 선언된 변수로, 객체의 데이터를 저장합니다.예) String name, int age.메서드(Method): 객체가 수행할 동작(기능)을 정의.특정 작업을 수행하는 코드 블록.예) void run(), int getAge().생성자(Constructor):객체 생성 시 호출되는 특수한 메서드.클래스와 이름이 같고 반환 타입이 없음.객체 초기화에 사용.접근 제어자(Access Modifier):클래스 멤버(필드,..

추상 클래스

abstract는 Java에서 추상화(Abstraction)를 구현하는 데 사용되는 키워드로, 클래스 또는 메서드에 적용됩니다. 이를 통해 코드의 공통적인 구조를 정의하고, 세부적인 구현은 하위 클래스에서 처리하도록 강제할 수 있습니다. 아래에서 추상 클래스, 추상 메서드, 그리고 추상 변수에 대해 자세히 설명하겠습니다.1. 추상 클래스 (Abstract Class)1.1. 정의추상 클래스는 abstract 키워드로 선언된 클래스입니다.직접 객체를 생성할 수 없으며, 상속을 통해 자식 클래스가 이를 구현해야 합니다.공통된 동작과 구체적인 동작을 함께 정의할 수 있습니다.추상 클래스는 추상 메서드뿐만 아니라 일반 메서드도 포함할 수 있습니다.1.2. 특징인스턴스화 불가: 추상 클래스는 직접 객체를 생성할 ..

객체와 인스턴스 이해

객체(Object)의 개념객체(Object)는 프로그래밍에서 데이터와 그 데이터를 조작하는 메서드(동작)를 하나로 묶은 독립적인 단위입니다. 현실 세계의 사물이나 개념을 소프트웨어로 표현한 것으로, 상태(속성)와 행동(기능)을 가집니다. 객체 지향 프로그래밍(OOP, Object-Oriented Programming)의 핵심 요소 중 하나입니다.1. 객체의 구성 요소객체는 다음 두 가지로 구성됩니다:1) 속성 (Attributes)객체가 가지고 있는 데이터 또는 상태를 나타냅니다.클래스에서 정의된 변수(필드)에 해당합니다.예: 자동차 객체의 속성 → 색상, 속도, 모델명2) 행동 (Behaviors)객체가 할 수 있는 동작 또는 기능을 나타냅니다.클래스에서 정의된 메서드에 해당합니다.예: 자동차 객체의 ..

문자열 추출하기 - indexOf(), substring()

특정 문자열 추출하는 방법.package ch09utility;public class GetName2 { public static void main(String[] args) { final String what = "유재석"; String target = "유재석강호동유재석김철수강호동"; System.out.println("문자열 원본 : " + target); int cnt = 0; // 발견된 횟수(count) int idx = -1; int len = what.length(); //문자열 길이 while (true){ idx = target.indexOf(what); //indexOf로 ..

랜덤 숫자 만들기 - Random(), nextInt()

Random() 생성자와 nextInt() 메서드//임의의 값을 추출하는 도움을 주는 유틸리티 클래스.for (int i = 1; i 1. Random() 생성자rand = new Random(); //java.utillRandom()은 java.util 유틸리티 패키지에 포함된 Random 클래스의 생성자이다.2. nextInt() 메서드jusawee[j] = rand.nextInt(6)+1; // 1부터 6까지의 숫자를 랜덤하게 할당. 첫 숫자와 끝 숫자에 +1을 해준다. 그래서 0부터 5까지에서 1부터 6까지가 된다.jusawee[j] = rand.nextInt(6); // 0부터 5까지의 임의의 정수값을 대입.nextInt()는 java.util 유틸리티 패키지에 포함된 Random 클래스의 난수..

java.lang 패키지(암시적 import)

1. java.lang 패키지java.lang은 Java 프로그래밍에서 기본적으로 사용되는 클래스를 포함하는 패키지이다.이 패키지는 import 키워드를 사용하지 않아도 자동으로 포함된다.즉, 모든 클래스에서 java.lang의 클래스나 인터페이스를 바로 사용할 수 있다.2. java.lang에 포함된 주요 클래스(1) 기본 자료형 래퍼 클래스:IntegerDoubleFloatBooleanCharacterLongByteShort(2) 유틸리티 클래스:Math (수학 연산)String (문자열 처리)StringBuilder, StringBuffer (문자열 조작)Object (모든 클래스의 최상위 클래스)System (입출력, 환경 설정 관련)(3) 스레드 및 동기화 클래스:ThreadRunnableThr..

기본생성자와 암시적 생성자

기본 생성자와 암시적 생성자는 서로 밀접하게 연관된 개념이지만, 미묘한 차이가 있습니다. 아래에서 두 개념을 비교하며 설명하겠습니다.1. 기본 생성자 (Default Constructor)정의: 클래스에 명시적으로 작성된 매개변수가 없는 생성자입니다.개발자가 명확히 코드로 작성한 생성자를 기본 생성자라고 부릅니다.특징:생성자의 이름은 클래스 이름과 같아야 함.반환 타입이 없음.매개변수가 없으며, 필요에 따라 초기화 코드 작성 가능.명시적으로 작성되므로, 작성된 내용이 컴파일러에 의해 추가되지 않음.예제:public class DefaultConstructorExample { // 기본 생성자 (명시적으로 작성) public DefaultConstructorExample() { Sy..

조건문

Java 반복문 및 전위/후위 증감자 정리 (확장 for문 포함)1. 반복문 종류Java에서 사용 가능한 반복문:for 구문기본 for문확장 for문 (Enhanced for loop)while 구문do-while 구문1.1 for 구문형식:for (초기화; 조건식; 증감식) { // 반복 실행할 코드}예제:for (int i = 0; i 1.2 확장 for문 (Enhanced for loop)컬렉션 또는 배열의 모든 요소를 순회할 때 사용합니다.형식:for (자료형 변수 : 배열/컬렉션) { // 반복 실행할 코드}예제 (배열 순회):int[] numbers = {1, 2, 3, 4, 5};for (int num : numbers) { System.out.println("num: " +..

연산자

Java 연산자 정리1. 연산자 종류 및 분류(1) 부호, 산술, 증감, 대입, 관계, 논리, 비트, 조건, 캐스트부호 연산자: +, -(숫자의 부호를 변경하거나 양수를 나타냄)산술 연산자: +, -, *, /, %(수학 연산 수행)증감 연산자: ++, --(값을 1 증가 또는 감소)대입 연산자: =, +=, -=, *=, /=, %=(값을 변수에 할당하거나 업데이트)관계 연산자: ==, !=, , >, , >=(값을 비교하여 true/false 반환)논리 연산자: ! (NOT), && (AND), || (OR)(조건 논리 연산 수행)비트 연산자: &, |, ^, ~, , >>, >>>(비트 단위 연산 수행)조건 연산자: 조건식 ? 값1 : 값2(삼항 연산자로 간단한 조건문 대체)캐스트 연산자: (자료형..