[Java] 예외처리 응용, API, Object클래스
📌 들어가며 이번 글에서는 예외 처리 응용 문제를 풀고, API(내부·외부)를 다루는 법, 그리고 모든 클래스의 부모인 Object 클래스(toString, equals)를 정리한다. 1. 예외 처리 응용 문제: 무한 반복 안에서 정수 5개만 입력받아 5칸 배열에 넣기. try~catch만 사용. public class ExceptionTa...
📌 들어가며 이번 글에서는 예외 처리 응용 문제를 풀고, API(내부·외부)를 다루는 법, 그리고 모든 클래스의 부모인 Object 클래스(toString, equals)를 정리한다. 1. 예외 처리 응용 문제: 무한 반복 안에서 정수 5개만 입력받아 5칸 배열에 넣기. try~catch만 사용. public class ExceptionTa...
📌 들어가며 이번 글에서는 equals() 재정의, hashCode(), 기본 타입을 객체로 감싸는 Wrapper 클래스(박싱/언박싱), 그리고 컬렉션 프레임워크의 List를 다룬다. 1. equals() 재정의 new로 만든 두 객체는 내용이 같아도 주소값이 달라 equals가 false를 반환한다. Student shin = new St...
📌 들어가며 이번 글에서는 조건식, 몇 가지 연산자, 그리고 제어문(삼항 → if → switch)을 다룬다. 특히 같은 문제(혈액형별 성격)를 삼항 → if → switch로 발전시키며, 각 제어문이 언제 편한지 감을 잡아본다. 1. 조건식과 boolean 조건식은 참/거짓 둘 중 하나가 나오는 식이다. C와 자바의 참·거짓 표현이 다르다....
📌 들어가며 이번 글에서는 클래스 개념을 복습하고, 자동차 시동 시나리오로 응용 문제를 풀어본다. 정말 어려웠지만, 클래스·객체·생성자·다형성이 어떻게 맞물리는지 체감할 수 있는 문제였다. 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) 추상 클래스란? 구현되지 않은 메소드(추상 메소드)가 선...