Java(41)
-
계산기 만들기
인터페이스 정의 단계전체적인 구현을 하는 단계사용하려는 메서드 등 필요한 기능들을 미리 정의interface Calculator { double add(double num1, double num2); //더하기 double subtract(double num1, double num2); //빼기 double multiply(double num1, double num2); //곱하기 double divide(double num1, double num2) throws ArithmeticException; //나누기}계산 메서드용 클래스(BasicCalculator)간단한 사칙 연산 구현class BasicCalculator implements Calculator { @Overrid..
2025.05.22 -
자바의 논리 연산자
기본 이해개념 정의논리 연산자는 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 -
자바 변수 체크 문제
문제자동 타입 변환에서 컴파일 에러가 발생하는 것을 선택하시오.byte byteNum = 10;short shortNum = 20;char charNum = 'A';int intNum = 30;long longNum = 40L;float floatNum = 3.14f;double doubleNum = 5.5;1. int result1 = byteNum;2. char result2 = shortNum;3. float result3 = longNum;4. short result4 = charNum;5. double result5 = floatNum;정답 : 2번, 4번에서 컴파일 에러 발생컴파일러의 자동 형변환 판단 기준크기가 큰 타입으로의 변환은 자동 변환 허용크기가 같더라도 표현 범위가 다르면 자동 변환..
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