[Java] 자바 메모장 코딩
📌 들어가며 당연하게 여기던 도구 Eclipse를 잠시 내려놓고, 메모장(Notepad)만으로 자바를 코딩해본다. 자동 완성도, 즉각적인 오류 표시도 없이 직접 컴파일하고 실행하면서, 자바가 실제로 어떻게 돌아가는지 그 메커니즘을 체감하는 것이 목적이다. 1. 메모장으로 코드 작성 먼저 이름을 출력하는 간단한 코드를 메모장에 작성한다. cl...
📌 들어가며 당연하게 여기던 도구 Eclipse를 잠시 내려놓고, 메모장(Notepad)만으로 자바를 코딩해본다. 자동 완성도, 즉각적인 오류 표시도 없이 직접 컴파일하고 실행하면서, 자바가 실제로 어떻게 돌아가는지 그 메커니즘을 체감하는 것이 목적이다. 1. 메모장으로 코드 작성 먼저 이름을 출력하는 간단한 코드를 메모장에 작성한다. cl...
📌 들어가며 이번 글에서는 메소드로 클래스 연결, 은닉화(캡슐화), 오버로딩, 생성자, 그리고 문서 생성 도구 JavaDoc을 코드 중심으로 리뷰한다. 1. 은닉화(캡슐화) — 클래스를 메소드로 연결 세 클래스(Hero, Bullet, UseHero)를 메소드로 유기적으로 연결한다. 멤버변수를 private으로 감추고 getter/setter...
📌 들어가며 이번 글은 변수 스코프, 제어문 흐름 제어(break/continue), 배열(1차·2차), 메서드, 객체지향까지 폭넓게 정리하는 복습 편이다. 1. 변수의 범위(스코프) 변수 스코프의 세 가지 규칙을 정리하면 이렇다. 규칙 설명 하위 블록 침투 가능 ...
📌 들어가며 이번 글에서는 먼저 컬렉션 프레임워크(Set·List·Map)를 정리하고, 이어서 자바 그래픽스(Graphics)로 간단한 슈팅 게임(주인공 1기 + 적군 5기)을 만든다. 컬렉션 프레임워크란? 객체를 모아서 처리하는 데 유용한 객체들을 지원하는 라이브러리. 계열 특징 ...
📌 들어가며 저번의 간단한 게임을 이번엔 제법 그럴듯하게 발전시킨다. 7개 클래스로 나뉘며, 추상 클래스 상속·게임 쓰레드(루프)·어댑터·익명 클래스같은 중요한 개념이 총출동한다. GameMain (JFrame, 메뉴바) └─ GamePanel (JPanel, 게임 쓰레드 + paintComponent) └─ GameCompon...
📌 들어가며 이번 글에서는 Swing GUI로 채팅 앱을 만들면서, 클래스·객체·주소값 공유와 이벤트 리스너를 깊이 있게 익힌다. 두 개의 창(ChatA, ChatB)이 서로의 주소값을 주고받아 메시지를 공유하는 것이 핵심이다. 이번엔 java.awt 대신 업그레이드 버전인 javax.swing을 사용한다. (JFrame, JTextArea,...
📌 들어가며 이번엔 알라딘 같은 도서관리 애플리케이션을 만든다. 힘들었지만, 실무의 핵심인 MVC 패턴 · VO(DTO) · DAO를 실제로 엮어보는 값진 예제다. 아직 완성은 아니지만 회원가입·로그인까지 구현했다. MVC 패턴으로 패키지 분리 view — 디자인(화면)을 담당하는 클래스들 model — 로직(DB 처리)을...
📌 들어가며 지난 시간에 이어 파일 입출력(File I/O)을 다룬다. 이번엔 파일에 텍스트를 쓰고, 특정 줄을 수정·삭제하는 방법을 정리한다. 핵심 로직: 파일은 특정 줄만 콕 집어 바꾸기 어렵다. 그래서 임시 저장소(temp)에 원본을 옮기며 수정/삭제하고, 완성된 temp로 원본을 덮어쓰는 방식을 쓴다. 원본 파일 ──읽기(Reade...
📌 들어가며 이번 글에서는 스트림(Stream) 기반의 파일 입출력과 예외 처리(try-catch, throws)를 다루고, 마지막으로 인터넷 이미지 다운로드 앱까지 만들어본다. 스트림(Stream)이란? 강 줄기처럼 흘러가는 것. 컴퓨터에서 그 대상은 데이터다. 자바는 java.io 패키지에서 스트림 API를 지원한다. 방향에 따른 분류...
📌 들어가며 이번 글에서는 상속(extends)과 객체 간 형변환(casting)을 다룬다. 문법 자체보다, 자바가 상속·생성자·오버라이딩을 통해 어떤 기능을 제공하는지에 초점을 둔다. 1. 상속 — 중복 제거 인류를 흑인·백인·황인 세 클래스로 나눈다고 하자. 멤버변수·메소드를 일일이 다 만드는 건 프로그래밍의 본질(중복 제거)을 잃는 것이...