"자바 중급 학습: 심화 개념부터 실전 코딩까지 초보자를 위한 A-Z 완벽 가이드"
서론: 실전 코딩으로 한 단계 더
기초 단계를 지나 이제 자바의 심화 개념을 배워볼게요. 상속, 인터페이스, 컬렉션 같은 기능을 배우고, 투두 리스트를 만들어 실전 코딩을 연습합니다. 이제 코딩이 조금 익숙해졌죠? 더 멋진 프로그램을 만들 준비를 해볼까요?
3.1 핵심 개념
상속
상속이란?: 부모가 자식에게 재산을 물려주듯, 코드에서 기능을 물려주는 거예요. 예를 들어, "동물"이라는 부모가 있으면 "강아지"가 그 기능을 물려받을 수 있어요.
장점: 같은 코드를 반복해서 쓰지 않아도 돼요.
예제: 동물과 강아지를 만들어 봅시다.
class Animal {
String name;
void eat() {
System.out.println(name + "이(가) 밥을 먹어요.");
}
}
class Dog extends Animal { // Animal의 기능을 물려받음
void bark() {
System.out.println(name + ": 멍멍!");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.name = "초코";
myDog.eat(); // 부모에게서 물려받은 기능
myDog.bark(); // 강아지만의 기능
}
}
출력: "초코이(가) 밥을 먹어요." → "초코: 멍멍!"
설명: extends
로 상속받으면 부모(Animal
)의 eat()
을 강아지가 쓸 수 있어요.
인터페이스
인터페이스란?: 약속이에요. 예를 들어, "날 수 있다"는 약속을 지키면 어떤 동물이라도 날 수 있게 해줘요. 인터페이스는 해야 할 일을 정해주고, 어떻게 할지는 각자 알아서 정해요.
예제: 날아다니는 새를 만들어 봅시다.
interface Flyable {
void fly(); // 약속: 날아야 함
}
class Bird implements Flyable { // 약속을 지킴
String name;
public Bird(String n) {
name = n;
}
public void fly() {
System.out.println(name + "이(가) 훨훨 날아요!");
}
}
public class Main {
public static void main(String[] args) {
Bird sparrow = new Bird("참새");
sparrow.fly();
}
}
출력: "참새이(가) 훨훨 날아요!"
설명: implements
로 약속(Flyable
)을 지키면 fly()
를 꼭 만들어야 해요.
컬렉션 (ArrayList)
컬렉션이란?: 데이터를 모아두는 가방이에요. 배열은 크기가 고정된 서랍장이었다면, ArrayList
는 크기가 자유롭게 늘어나는 마법 가방이에요.
장점: 물건을 넣고 빼는 게 쉬워요.
예제: 과일을 가방에 넣어 봅시다.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList fruits = new ArrayList<>(); // 빈 가방
fruits.add("사과"); // 가방에 넣기
fruits.add("바나나");
fruits.add("오렌지");
System.out.println("첫 번째 과일: " + fruits.get(0)); // 꺼내기
fruits.remove(1); // 바나나 빼기
System.out.println("남은 과일: " + fruits);
}
}
출력: "첫 번째 과일: 사과" → "남은 과일: [사과, 오렌지]"
설명: add
로 추가하고, get
으로 꺼내고, remove
로 삭제해요.
반복문 (for)
반복문이란?: 같은 일을 여러 번 반복하는 거예요. 예를 들어, 가방에 든 과일을 하나씩 꺼내서 확인할 수 있어요.
예제: 과일을 하나씩 출력해 봅시다.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList fruits = new ArrayList<>();
fruits.add("사과");
fruits.add("바나나");
for (int i = 0; i < fruits.size(); i++) {
System.out.println("과일 " + (i + 1) + ": " + fruits.get(i));
}
}
}
출력: "과일 1: 사과" → "과일 2: 바나나"
설명: i
가 0부터 가방 크기(size()
)까지 반복하면서 과일을 꺼내요.
3.2 실습: 투두 리스트 만들기
목표: 할 일을 추가하고 삭제하고 출력하는 프로그램을 만들어 봅시다.
단계별로 해보기:
- 가방 준비:
ArrayList
로 할 일 목록을 만들어요. - 할 일 추가: 몇 가지 할 일을 넣어요.
- 삭제: 필요 없는 할 일을 빼요.
- 출력: 남은 할 일을 보여줘요.
코드:
import java.util.ArrayList;
public class TodoList {
public static void main(String[] args) {
ArrayList todos = new ArrayList<>();
// 할 일 추가
System.out.println("할 일을 추가해볼게요!");
todos.add("자바 공부하기");
todos.add("운동하기");
todos.add("책 읽기");
System.out.println("현재 할 일: " + todos);
// 할 일 삭제
System.out.println("운동하기를 끝냈어요!");
todos.remove(1); // "운동하기" 삭제
System.out.println("남은 할 일: " + todos);
// 남은 할 일 출력
System.out.println("남은 할 일을 하나씩 확인해볼게요!");
for (int i = 0; i < todos.size(); i++) {
System.out.println("할 일 " + (i + 1) + ": " + todos.get(i));
}
}
}
출력: "현재 할 일: [자바 공부하기, 운동하기, 책 읽기]" → "남은 할 일: [자바 공부하기, 책 읽기]" → "할 일 1: 자바 공부하기" → "할 일 2: 책 읽기"
소요 시간
6~8주.
결론
중급 단계에서 실전 코딩을 배웠어요!
태그
#자바중급 #상속 #컬렉션 #투두리스트 #2025프로그래밍
'프로그래밍 > 자바' 카테고리의 다른 글
5. 자바 고급 학습: 프레임워크와 실무 기술까지 초보자를 위한 A-Z 가이드 (2) | 2025.03.11 |
---|---|
3. 자바 기초 학습: 객체지향 개념부터 실습까지 초보자를 위한 A-Z 가이드 (1) | 2025.03.09 |
1.자바 학습 5단계 목차: 입문부터 최고급까지 초보자를 위한 완벽 로드맵 (1) | 2025.03.08 |