분류 전체보기 20

추상 클래스(Abstract Class) 완벽 정리

💡 추상 클래스(Abstract Class)자바에서 추상 클래스(Abstract Class)는 객체 지향 프로그래밍에서 매우 중요한 개념 중 하나입니다. 공통된 특성을 묶어 상속 구조를 설계할 때, "반드시 오버라이딩해야 하는 메서드"를 명확하게 지정할 수 있도록 도와줍니다.📌 추상 메서드 (Abstract Method)자식 클래스에서 반드시 오버라이딩(재정의)해야 하는 메서드입니다.선언만 있고, 구현(메서드 몸통)이 없습니다.abstract 키워드를 사용합니다.abstract void print();📌 추상 클래스 (Abstract Class)하나 이상의 추상 메서드를 포함한 클래스입니다.객체를 직접 생성할 수 없습니다.공통된 속성이나 기능을 정의하고, 구체적인 구현은 자식 클래스가 담당합니다./..

자바(Java) 2025.10.14

다형성 & instanceof 완벽 정리

1️⃣ 다형성이란?다형성(Polymorphism)이란하나의 객체가 여러 타입을 가질 수 있는 성질을 의미한다.자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다.즉, 부모 타입으로 자식 객체를 다룰 수 있는 것이다.Person p2 = new Student(); // ✅ 가능Student s2 = new Person(); // ❌ 불가능 (역방향 불가)2️⃣ 다형성의 특징참조 가능한 방향성: 부모 → 자식 (O), 자식 → 부모 (X)부모 클래스 타입의 참조 변수로 자식 인스턴스 참조 가능자식 클래스끼리는 형변환 불가능3️⃣ 다형성 예제class Person { public void print() { System.out.println("Person.p..

자바(Java) 2025.10.14

상속 (Inheritance) 완벽 정리

객체지향 프로그래밍(OOP)의 핵심 개념 중 하나가 바로 **상속(Inheritance)**입니다.상속을 잘 이해하면 코드 재사용성이 높아지고, 유지보수가 훨씬 쉬워집니다. 🌱 상속이란?**상속(Inheritance)**은 기존 클래스를 기반으로 새로운 클래스를 만드는 기능입니다.즉, 부모 클래스의 속성과 기능(필드와 메소드)을 물려받아 재사용하고,필요한 부분만 **추가하거나 수정(재정의)**할 수 있습니다. ✅ 기본 개념용어설명부모 클래스 (Super Class)상속의 대상이 되는 기존 클래스자식 클래스 (Sub Class)부모 클래스를 상속받는 새로운 클래스자식 클래스는 부모 클래스의 필드와 메소드를 물려받지만,생성자와 초기화 블록은 상속되지 않습니다. 🧱 상속의 기본 문법class 부모클래스 {..

자바(Java) 2025.10.13

클래스와 객체 완벽 정리

1. 클래스(Class)와 객체(Object)클래스 : 객체를 만들기 위한 설계도.비유: 붕어빵 틀객체의 속성(멤버변수)과 기능(메서드)을 정의객체 : 클래스라는 틀을 바탕으로 만들어진 실체비유: 실제 붕어빵속성과 기능을 실제로 가지고 있음속성(Attribute) : 객체의 고유한 특성 → 멤버변수기능(Method) : 객체가 수행할 수 있는 행동 → 메서드생성자(Constructor) : 객체를 생성할 때 호출되어 초기화를 담public class Person { String name; // 속성 int age; // 속성 // 생성자 public Person(String name, int age) { this.name = name; this.age..

자바(Java) 2025.10.02

[쉽게 배우는 자바 프로그래밍] Chapter04_도전 문제(1~3번)

Q) 01_ 프린터의 상태와 동작을 클래스로 작성하고 테스트해 보자. import java.util.Scanner; class Printer { int numOfPapers = 0; public void print(int amount) { System.out.println("남아 있는 용지 수: " + (numOfPapers - amount)); numOfPapers -= amount; } } public class PrinterTest { public static void main(String[] args) { Printer demoPrinter = new Printer(); Scanner scanner = new Scanner(System.in); System.out.print("현재 용지 수를 입력..

[쉽게 배우는 자바 프로그래밍] Chapter03_프로그래밍 문제

Q) 01_키보드로 입력한 정수가 19 이상이면 '성년', 아니면 '미성년'을 춮력하는 프로그램을 if~else 문을 사용해 작성하라. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.print("정수를 입력하세요 : "); int x = in.nextInt(); if ( x >= 19 ) System.out.println("성년"); else System.out.println("미성년"); } } Q 02_ 키보드로 등수를 입력받아 1등이면 '아주 잘했습니다', 2~3등이면 '잘했습니다', 4~6등이면 '보통입니다..

java: warning: source release 14 requires target release 14 에러

이 에러는 Java 컴파일러에서 발생하는 것으로, 소스 코드를 컴파일할 때 발생한다. 이 경고는 보통 Java 소스 코드의 컴파일 버전과 대상 실행 환경의 버전 간 불일치가 있을때 나타난다. 즉, 이 에러는 소스 코드가 Java 14로 작성되었지만, 대상 실행 환경의 Java버전이 14보다 낮을 경우 발생하며, 소스 코드를 컴파일할 때 대상 실행 환경의 Java버전을 대상으로 설정하거나, 소스 코드를 해당 버전으로 다운그레이드하여 해결할 수 있다. 해결방법 File > Project Structure > Project Setting > Project > Project language level (Project SDK에 맞는 버번으로 변경) 내 경우에는 JDK1.8을 사용했기 때문에 Project lang..

자바_에러 2024.03.06

[쉽게 배우는 자바 프로그래밍] Chapter03_도전 과제

Q) 01_키보드로 입력한 정수의 팩토리얼 값을 구하는 프로그램을 작성해 보자. 더보기 import java.util.Scanner; public class Main { public static void main(String[] args) { int result = 1; int n; Scanner in = new Scanner(System.in); System.out.print("펙토리얼 값을 구할 정수 : "); n = in.nextInt(); while(n>0){ result *= n--; } System.out.println(result); import java.util.Scanner; public class Main { public static void main(String[] args) { in..

앞으로의 백엔드 공부 계획(feat. 백엔드 공부법)

현재상황 큰일났다...ㅠ 원래 계획은 3~4월 달까지 정보처리기사 실기에 집중을 하고, 제로베이스 백엔드 과정은 진도가 밀리지 않을 정도로 따라갈 생각이었는데 이 과정이 이렇게 빠른 속도로 진행될 줄 몰랐다.. 내가 생각했던 것보다 하루에 습득해야 되는 분량도 많았다... 게다가 알바도 2개를 하다 보니 결국 정처기도, 제로베이스도 강의가 밀리고, 진도를 못 따라가고 있다.. 왜 강의시간은 짧은데 8시간의 공부시간이 필요하다고 하는지 뼈저리게 깨달았다.. 앞으로의 계획 먼저 알바 < 정처기 < 제로베이스로 우선순위를 정해보았다. 가장 공부에 지장이 있는 알바 1개를 다음 주부터 그만두기로 했으며, 정보처리기사보다 제로베이스에 집중하기로 했다. 정보처리기사는 다시 시험을 볼 수 있고, 공부 기간이 제로베이..

[ZB]끄적끄적 2024.03.01