Java/자바 학습(34)
-
자바의 논리 연산자
기본 이해개념 정의논리 연산자는 boolean 타입의 값을 연산하는 연산자로, 조건문과 제어문에서 복합적인 조건을 처리하는 데 사용된다.일상생활 비유AND(&&) : 도서관 출입 시 "학생증이 있고" + "마스크를 착용해야" 입장 가능OR(||) : 결제 시 "현금 또는 카드" 중 하나만 있으면 가능NOT(!) : "비가 오지 않음" = "맑음"존재 이유와 목적필요성복잡한 조건의 표현다중 조건 검사코드의 가독성 향상실제 개발에서의 역할사용자 입력 유효성 검사보안 권한 확인비즈니스 로직 구현핵심 구성요소주요 연산자AND (&&)모든 조건이 true일 때만 true 반환Short-circuit 평가 지원OR (||)하나라도 true면 true 반환Short-circuit 평가 지원XOR (^)두 조건이 다를..
2025.05.21 -
자바의 비교 연산자
기본 이해개념 정의비교 연산자는 두 피연산자의 크기나 동등성을 비교하여 true/false의 논리값을 반환하는 연산자다.일상생활 비유체육대회에서 달리기 순위 비교시험 점수 합격선 판단쇼핑몰에서 상품 가격 비교존재 이유와 목적필요성프로그램의 흐름 제어데이터 검증조건부 실행 결정실제 역할조건문의 기준 제공데이터 필터링정렬 알고리즘 구현유효성 검사해결하는 문제들데이터 범위 검증입력값 유효성 확인비즈니스 로직 구현핵심 구성요소주요 연산자== : 동등 비교!= : 비동등 비교 : 큼= : 크거나 같음작동 방식int a = 5;int b = 3;boolean result1 = a > b;boolean result2 = a 연산자 우선순위단항 연산자산술 연산자비교 연산자논리 연산자주의사항과 일반적 오류일반적 실수객..
2025.05.21 -
자바 산술 연산자와 오버 플로우/ 언더 플로우
기본 이해산술 연산자는 수학적 계산을 수행하는 프로그래밍 언어의 기본 연산자다.계산기의 기본 버튼들(+, -, ×, ÷)과 동일한 역할을 수행한다.작동 방식int a = 10;int b = 3;int sum = a + b; // 덧셈int diff = a - b; // 뺄셈int mult = a * b; // 곱셈int div = a / b; // 나눗셈int mod = a % b; // 나머지자바의 타입 승격(Type Promotion) 규칙을 따른다.///데이터 타입 크기byte: 1바이트 (-128 ~ 127)char: 2바이트 (0 ~ 65535)short: 2바이트 (-32768 ~ 32767)int: 4바이트 (-2^31 ~ 2^31-1)long: 8바이트 (-2^63 ~ 2^63-1)fl..
2025.05.19 -
자바의 부호/증감 연산자
기본 이해개념 정의부호/증감 연산자는 변수의 값을 증가시키거나 감소시키는 단항 연산자다.종류증가 연산자(++): 값을 1 증가감소 연산자(--): 값을 1 감소부호 연산자(+, -): 양수/음수 표현작동 방식int x = 5;x++; // x = x + 1과 동일x--; // x = x - 1과 동일증가 연산자++와 동일한 연산을 하는 방법이 2가지 더 있는데 작동 방식이 조금 다르다.byte b = 127;b = b + 1; // 컴파일 에러b += 1; // 정상 작동 (-128이 됨)b++; // 정상 작동 (-128이 됨) 때문에 특수 상황에서 연산 후 결과 값도 달라진다.b+1의 경우 b가 연산 시 자동으로 int로 승격(promotion)되고 1도 int 타입이..
2025.05.19 -
자바 싱글톤 패턴 (Singleton Pattern)
개요싱글톤 패턴은 객체 지향 프로그래밍에서 인스턴스 생성을 제어하는 디자인 패턴이다.여기서 핵심은 생성자를 private으로 선언하여 외부에서 new 키워드로 인스턴스를 생성하지 못하게 막고, 대신 static 메서드를 통해 단 하나의 인스턴스만 반환하도록 하는 것이다. 이렇게 하면 프로그램 전체에서 해당 클래스의 인스턴스는 오직 하나만 존재하게 되며, 이 인스턴스는 모든 곳에서 공유하여 사용할 수 있다.예를 들어, 데이터베이스 연결이나 설정 정보와 같이 프로그램 전체에서 하나의 상태만 유지해야 하는 경우에 싱글톤 패턴을 사용한다.목적싱글톤의 주요 목적은 크게 두 가지다.전역 상태 관리데이터베이스 연결설정 정보캐시로깅 시스템public class DatabaseConnection { private ..
2025.05.18 -
Java의 this 키워드
기본 이해개념 정의this는 현재 실행 중인 메서드가 속한 객체 자신을 가리키는 참조 변수인스턴스의 멤버 변수와 메서드를 참조하는데 사용일상생활 비유사람이 자신을 지칭할 때 "나"라고 하는 것처럼, 객체가 자신을 지칭할 때 "this"를 사용작동 방식public class Person { private String name; public Person(String name) { this.name = name; // this로 멤버변수 참조 }}존재 이유와 목적필요성멤버변수와 매개변수의 이름이 같을 때 구분public class Person { private String name; // 멤버변수 private int age; // 멤버변수 // ..
2025.05.18 -
break와 continue 상세 설명
기본 이해break와 continue는 제어문에만 사용되는 개념이다.제어문이라는 것은 for 루프, while 루프, do-while 루프, switch 문 같은 것을 의미한다.정의break: 현재 실행 중인 반복문이나 switch문을 즉시 종료continue: 현재 반복을 건너뛰고 다음 반복으로 진행비유break: 영화관에서 영화가 마음에 들지 않아 중간에 퇴장continue: TV 채널에서 광고가 나오면 다음 내용으로 건너뛰기작동방식break: 제어문의 블록을 완전히 벗어남continue: 현재 반복만 중단하고 다음 반복 조건 검사로 이동존재 이유와 목적제어문을 사용하는 중에 특정 조건의 동작을 컨트롤 하고 싶을 경우 사용한다. 사실 if문만으로도 모든 제어가 가능하지만 break와 continue를..
2025.05.18 -
자바의 제어문(조건문, 반복문, 분기문)
기본 이해정의: 프로그램의 실행 흐름을 제어하는 문장비유:조건문 = 교차로의 신호등반복문 = 회전 교차로분기문 = 비상구/탈출로작동방식:순차적 실행 흐름을 조건/반복/분기에 따라 변경코드 블록 단위로 실행 여부 결정핵심 구성요소조건문if문: 단일 조건 검사if-else문: 양자 택일if-else if문: 다중 조건 검사switch-case문: 값 기반 다중 분기반복문for: 정해진 횟수 반복while: 조건 기반 반복do-while: 최소 1회 실행 보장enhanced for: 컬렉션 순회분기문break: 반복문/switch문 탈출continue: 현재 반복 건너뛰기return: 메소드 종료존재 이유와 목적동적 프로그램 흐름 제어 필요성코드 재사용성 향상조건별 다른 처리 가능반복 작업 자동화주의사항과 일..
2025.05.18 -
연산자(Operators)
기본 이해정의: 프로그래밍에서 데이터를 처리하기 위한 기호나 단어비유: 수학의 계산 기호(+, -, ×, ÷)와 유사작동방식: 피연산자들에 대해 특정 연산을 수행하여 결과값 반환핵심 구성요소부호/증감 연산자+ (양수)- (음수)++ (1 더하기)-- (1 빼기)산술 연산자:+ (덧셈)- (뺄셈)* (곱셈)/ (나눗셈)% (나머지)** (거듭제곱)비교 연산자== (같다)!= (다르다)> (크다)>= (크거나 같다)논리 연산자&& (AND)|| (OR)! (NOT)존재 이유와 목적데이터 조작의 기본 도구조건문과 반복문의 핵심 요소수학적/논리적 연산 수행주의사항과 일반적 오류== 와 = 의 혼동= 는 할당 연산자 : 변수 등에 값을 할당하는데 사용== 는 비교 연산자 : 두 값이 같은지 비교논리 연산자 우선순..
2025.05.18 -
명시적 형변환 vs 암시적 형변환
기본 이해명시적 형변환(Explicit Type Casting):프로그래머가 직접 데이터 타입을 변환하도록 지정코드에서 변환 의도가 명확히 보임(int), Integer.valueOf() 암시적 형변환(Implicit Type Casting):컴파일러가 자동으로 수행하는 타입 변환데이터 손실이 없는 안전한 변환만 수행작은 타입에서 큰 타입으로의 변환일상생활 비유명시적: 물을 얼음틀에 부어 얼음으로 만드는 것 (의도적 변환)암시적: 얼음이 상온에서 자연스럽게 물이 되는 것 (자연스러운 변환)명시적 형변환(Explicit Type Casting)명시적 이라는 말에서부터 알 수 있지만 직접 코드를 만들어서 형변환을 하는 방식을 뜻한다.핵심 구성요소캐스팅 연산자 () 사용가장 기본적이고 간단한 형변환 방식이다...
2025.05.18