[Java] 클래스 응용 문제
📌 들어가며 이번 글에서는 클래스 개념을 복습하고, 자동차 시동 시나리오로 응용 문제를 풀어본다. 정말 어려웠지만, 클래스·객체·생성자·다형성이 어떻게 맞물리는지 체감할 수 있는 문제였다. 1. 클래스 핵심 개념 복습 개념 정의 클래스(class) 추상적 ...
📌 들어가며 이번 글에서는 클래스 개념을 복습하고, 자동차 시동 시나리오로 응용 문제를 풀어본다. 정말 어려웠지만, 클래스·객체·생성자·다형성이 어떻게 맞물리는지 체감할 수 있는 문제였다. 1. 클래스 핵심 개념 복습 개념 정의 클래스(class) 추상적 ...
📌 들어가며 지난 시간에 배운 메소드로 문제를 풀어보고, 클래스·생성자·this를 복습한다. 특히 “메소드에서 값을 2개 이상 돌려주려면?”, “왜 생성자에 this가 필요한가?” 같은 실전 감각을 잡는 것이 목표다. 1. 문제 ① — 최대·최소를 한 번에 구하기 리턴값은 1개만 돌려줄 수 있다. 그런데 최대·최소 2개를 돌려주려면? 배열(주...
📌 들어가며 이번 글에서는 업 캐스팅(up casting)·다운 캐스팅(down casting)과 변수의 종류(지역·전역·정적)를 다룬다. 시작 전에 대전제 하나를 기억하자. “모든 자식은 부모 타입이다.” 상속에서 배웠듯, 모든 자식 클래스는 부모 타입이기도 하다. 그래서 자식을 부모 타입에 담는 업 캐스팅이 가능하다. 1. 업 캐스...
📌 들어가며 이번 글에서는 ArrayList를 활용해 간단한 회원가입·로그인 응용 문제를 풀어본다. 아이디 중복 검사, 비밀번호 암호화까지 넣어, 배운 것들을 하나로 엮어보자. 왜 배열이 아니라 ArrayList? 일반 배열은 크기가 고정이지만, ArrayList는 추가·수정·삭제가 자유롭다. 회원이 늘고 주는 상황에 적합하다. 전체 구조...
📌 들어가며 변수를 여러 개 선언하면 관리가 어렵다. 이 여러 저장 공간을 하나의 이름으로 묶는 것이 배열(array)이다. C에서도 봤지만, 자바의 배열은 new로 Heap 메모리에 할당된다는 특징이 있다. 배열 = 저장 공간의 나열 여러 변수를 하나의 이름으로 묶어 관리가 편하다. 규칙성 없는 값에 규칙성(인덱스)을 부...
📌 들어가며 이번 글에서는 익명 클래스(Anonymous inner class)와 예외 처리(Exception)를 다룬다. 익명 클래스는 스타벅스 지점 예제로, 예외 처리는 배열 인덱스 오류로 실습한다. 1. 익명 클래스 익명 클래스란? 이름이 없는 클래스. 구현되지 않은 필드를 일회성으로 구현하기 위해 그 자리에서 즉석으로 만드는 클래...
📌 들어가며 상속만으로는 “자식이 이 메소드를 반드시 구현하게 강제”할 수 없다. 이 강제성을 부여하는 것이 추상 클래스와 인터페이스다. 이번 글에서는 둘의 차이, 그리고 Adapter·마커 인터페이스·다중 상속·모호성까지 정리한다. 1. 추상 클래스 (abstract class) 추상 클래스란? 구현되지 않은 메소드(추상 메소드)가 선...
📌 들어가며 이번 글에서는 형변환을 마저 다지고, 문자열↔숫자 변환, 입력(Scanner), 그리고 비트·단항·쉬프트 연산자까지 정리한다. 1. 문자 + 정수 vs 문자열 + 정수 핵심 규칙 두 가지를 먼저 잡자. 식 결과 동작 문자 + 정수 ...
📌 들어가며 지난 시간엔 Eclipse Photon을 설치하고 출력을 찍어봤다. 이번엔 변수, 자료형, 서식문자, 형변환을 정리한다. C에서 봤던 개념과 겹치는 부분이 많지만, 자바만의 차이(String 클래스, 유니코드, double 기본형)에 주목하자. 1. 기본기 두 가지 컴파일러의 해석 방향 — C(Visual Studio)와 마찬가지...
📌 들어가며 짧았던 C 언어 포스팅을 마치고, 이제 Java를 시작한다. 쉬운 길은 아니겠지만 그만큼 얻어갈 게 많을 거라 믿는다. 이번 글에서는 Java가 어떤 언어인지, 그리고 JVM·JRE·JDK의 구성과 기본 프로젝트 구조를 정리한다. 1. Java란? 썬 마이크로시스템즈(Sun Microsystems)에서 1995년에 개발한 객체 지...