전체 글 193

[Java] break, continue, return

1. `break`문반복문이나 `switch`문을 즉시 종료한다반복문에서의 `break`for (int i = 1; i `switch`문에서의 `break`int day = 2;switch (day) { case 1: System.out.println("월요일"); break; case 2: System.out.println("화요일"); break; case 3: System.out.println("수요일"); break; default: System.out.println("주말");}// 화요일레이블과 함께 `break`레이블을 사용하여 중첩된 반복문에서 특정 반복문을 종료할수 있다outer:..

BE/Java 2024.12.02

[Java] 연산자

1. 산술 연산자연산자기능예제결과`+`덧셈`5 + 3``8``-`뺄셈`5 - 3``2``*`곱셈`5 * 3``15``/`나눗셈`5 / 2``2`(정수 나눗셈)`%`나머지`5 % 2``1`2. 비교 연산자연산자기능예제결과`==`값이 같은지 비교`5 == 5``true``!=`값이 다른지 비교`5 != 3``true``>`왼쪽이 오른쪽보다 큰지 비교`5 > 3``true``왼쪽이 오른쪽보다 작은지 비교`5 `false``>=`크거나 같은지`5 >= 5``true``크거나 작은지`5 `false`3. 논리 연산자연산자기능예제결과`&&`논리 AND (둘다 만족)`true && false``false``||`논리 OR (둘중 하나)`true || false``true``!`논리 NOT(부정)`!true``fals..

BE/Java 2024.12.01

[Java] 반복문

1. `for`문반복 횟수가 명확할때 사용for (초기화; 조건; 증감) { // 반복실행할 코드}초기화 : 반복 변수를 초기화한다 (`int i = 0`)조건 : 조건이 참이면 블럭실행, 거짓이면 종료 (`i 증감 : 반복이 끝날때마다 변수값을 변경 (`i++`)2. 향상된 `for`문for (타입변수 : 배열이나 컬렉션) { // 각 요소에 대해 실행할 코드} exampleint[] numbers = {1,2,3,4,5};for (int num : numbers) { System.out.println("Number: " + num);}/**/* 결과/* Number: 1/* Number: 2/* Number: 3/* Number: 4/* Number: 5 3. `while`문조건이 참..

BE/Java 2024.12.01

[Java] 조건문

1.`if` 문if (조건) { // 조건이 참일때 실행}if (조건) { // 조건이 참일때 실행} else { // 조건이 거짓일때 실행}if (조건1) { // 조건1이 참일때 실행} else if (조건2) { // 조건2가 참일때 실행} else { // 모든 조건이 거짓일때 실행} 2. `switch`문하나의 값을 여러 경우와 비교해서 실행switch (값) { case 값1 : // 값이 값1일때 실행 break; case 값2 : // 값이 값2일때 실행 break; default : //모든 케이스에 해당하지 않을때 실행} exampleint day = 3;switch (day) { case 1: ..

BE/Java 2024.12.01

[Java] 생성자와 오버로딩, getter setter

1. 생성자 (Constructor)정의생성자는 클래스가 객체로 생성될때 호출되는 특별한 메서드클래스의 이름과 동일, 반환타입이 없음(`void`도 명시하지 않음)역할객체 초기화를 주로 담당기본 생성자와 사용자 정의 생성자가 있다기본 생성자생성자를 작성하지 않으면 컴파일러가 자동으로 추가한다매개변수가 없고 아무 작업도 하지 않는다class Person { String name; int age;}public class Main { public static void main(String[] args) { Person p = new Person(); // 기본 생성자가 호출됨 System.out.println(p.name); // null System...

BE/Java 2024.12.01

[Java] 캐스팅 (형 변환)

1. 기본 자료형 캐스팅자동 캐스팅작은 타입에서 큰 타입으로 자동 변환데이터 손실이 없어서 안전int a = 10;double b = a; // int 가 double 로 자동 변환System.out.println(b); // 10.0강제 캐스팅큰 타입을 작은 타입으로 변환할때는 데이터 손실 가능성이 있어서 명시적으로 처리해야 한다`(타입)`을 앞에 써서 변환double a = 10.5;int b = (int) a; // double을 int로 강제 변환System.out.println(b) // 10 (소수점은 잘림) 2. 참조형(객체) 캐스팅업캐스팅하위 클래스 객체를 상위 클래스 타입으로 변환자동으로 수행되며 데이터 손실은 없지만 상위 클래스의 멤버만 접근 가능class Animal { void..

BE/Java 2024.12.01

[Java] abstract와 interface

`abstract`와 `interface`는 추상화를 구현하는 두가지 주요 도구이다1. 추상 클래스 (`abstract`)개념추상 클래스는 완전히 구현되지 않은 클래스 이다일부 메서드는 구현을 가지고, 일부는 구현되지 않을 수 있다직접 객체 생성이 불가능하며 상속받을 하위 클래스가 구현해야 합니다특징클래스와 메서드에 `abstract` 키워드 사용구현된 메서드 포함 가능함 (일반 메서드와 추상 메서드 모두 가질수 있다)상속을 통한 확장 (다른 클래스가 이를 상속받아야 하며 추상메서드를 반드시 구현해야함)인스턴스 생성 불가 (직접 객체를 생성할 수 없음)변수와 메서드의 다양한 유형 허용 (인스턴스 변수, 정적 변수, 정적 메서드 등을 포함할 수 있다)클래스 내부의 변수나 메서드중에 하나라도 abstract..

BE/Java 2024.11.30

[Java] 접근 제어자

접근 제어자의 종류접근 제어자같은 클래스같은 패키지다른 패키지(서브클래스,상속)다른 패키지`public`OOOO`protected`OOOX`(default)`OOXX`private`OXXX1. `public`어디서나 접근 가능제한이 없는 가장 개방적인 접근 제어자사용 위치 : 클래스, 메서드, 변수, 생성자특징 : 외부에서 자유롭게 사용 가능한 요소를 선언할때 사용2. `protected`같은 패키지와 다른 패키지의 서브클래스(상속)에서 접근 가능같은 패키지에 있는 클래스에서는 접근 가능하지만 다른패키지에서는 서브클래스를 통해서만 접근 가능하다package example;public class Parent { protected String message = "Hello, Subclass!"; ..

BE/Java 2024.11.30

[Java] static

`static`은 클래스 레벨에서 관리되는 요소를 정의할때 사용된다. `static`의 특징1. 클래스와 연관됨`static` 으로 선언된 요소는 클래스 로드 시 메모리에 올라가며 해당 클래스의 모든 객체가 공유한다.객체에 종속되지 않고 클래스 자체에 종속된다.2. 객체 생성 없이 사용 가능`static` 멤버는 클래스 이름을 통해 직접 호출할 수 있다.예 : `ClassName.staticMember`3. 메모리 공유`static` 변수는 한번만 메모리에 할당되며 모든 객체가 이를 공유한다.인스턴스 변수와 달리 개별 객체마다 복사본이 생성되지 않는다.`static`의 주요 사용처1. `static` 변수클래스 전체에서 공유되는 변수프로그램에서 일정한 값을 유지하거나 모든객체가 공통으로 사용하는 데이터를..

BE/Java 2024.11.30

[Java] 메모리 계산

자바 프로그램은 힙(heap)과 스택(stack)영역에서 메모리를 관리한다. 기본 데이터 타입 메모리 크기데이터 타입크기 (바이트)비고`byte`1-128 ~ 127`short`2-32,768 ~ 32,767`int`4-2³¹ ~ 2³¹-1`long`8-2⁶³ ~ 2⁶³-1`float`432비트 IEEE 754 부동소수점`double`864비트 IEEE 754 부동소수점`char`216비트 유니코드 문자`boolean`일반적으로 1바이트JVM에 따라 다름 참조 데이터 타입 메모리 크기참조형 타입은 힙 메모리에 저장된다.1. 객체 자체 (헤더 포함) : JVM구현에 따라 다르지만 일반적으로 객체 헤더는 12~16바이트를 차지한다.2. 인스턴스 변수 : 포함된 모든 인스턴스 변수의 크기를 합산.3. 패딩 :..

BE/Java 2024.11.30