Chapter 09. 클래스 완전 정복
자바 프로그래밍의 가장 중요한 핵심인 ‘클래스(Class)’를 배우는 챕터입니다. 어렵게 느껴질 수 있는 개념을 우리 주변의 사물에 비유하여 쉽게 설명했습니다.
🗺️ 학습 로드맵
먼저 전체 그림을 보고 시작해 보세요.
목차
6.1 객체지향 프로그래밍 (부품 조립)
“자동차를 만들 때 엔진, 바퀴, 핸들을 조립하듯이 소프트웨어도 부품(객체)을 조립해서 만듭니다.” 복잡한 프로그램을 작고 관리하기 쉬운 부품 단위로 나누어 개발하는 방법입니다.
👉 학습하기
6.2 객체와 클래스 (설계도와 제품)
“붕어빵 틀(클래스)이 있으면 붕어빵(객체)을 수천 개도 만들 수 있습니다.” 클래스는 객체를 만들기 위한 설계도이고, 객체는 그 설계도로 만들어진 실제품입니다.
👉 학습하기
6.3 클래스 선언 (설계도 그리기)
“어떤 이름의 자동차를 만들지, 어떤 부품이 필요한지 설계도에 적는 과정입니다.”
class키워드를 사용해 새로운 종류의 객체를 정의합니다.
👉 학습하기
6.4 객체 생성과 클래스 변수 (주문과 배송)
“
new는 공장에 ‘이 설계도로 제품 하나 만들어주세요!’라고 주문 넣는 것과 같습니다.” 메모리 어딘가에 실제 제품(객체)이 만들어지고, 우리는 그 위치(주소)를 리모컨(변수)에 저장해서 사용합니다.
👉 학습하기
6.5 ~ 6.8 클래스의 구성 멤버 (자동차의 구성 요소)
자동차에 엔진, 핸들, 기능이 있듯이 클래스도 3가지 요소로 이루어집니다.
- 6.6 필드: 데이터 (자동차의 속도, 색상)
- 6.7 생성자: 초기 설정 (출고 시 색상 결정)
- 6.8 메소드: 동작 (달린다, 멈춘다)
👉 학습하기 (6.5 구성 멤버) 👉 학습하기 (6.6 필드) 👉 학습하기 (6.7 생성자) 👉 학습하기 (6.8 메소드)
6.9 인스턴스 멤버 (개인 물건)
“내 주머니 속의 스마트폰은 나만의 것입니다.” 객체마다 각각 따로 가지고 있는 데이터입니다. (
this= 나 자신)
👉 학습하기
6.10 정적 멤버 (공용 물건)
“교실 벽에 걸린 시계는 모든 학생이 함께 봅니다.” 모든 객체가 공유하는 데이터입니다. (
static= 공용)
👉 학습하기
6.11 final 필드와 상수 (불변의 법칙)
“주민등록번호는 태어날 때 정해지면 평생 바꿀 수 없습니다.” 한 번 값을 정하면 수정할 수 없는 데이터입니다. (
final)
👉 학습하기
6.12 패키지 (폴더 정리)
“파일이 너무 많으면 폴더별로 정리하듯이, 클래스도 패키지로 정리합니다.” 비슷한 성격의 클래스들을 모아두는 디렉토리함입니다.
👉 학습하기
6.13 접근 제한자 (보안 장치)
“우리 집 안방은 가족만 들어올 수 있고, 대문은 누구나 볼 수 있습니다.”
public,private등을 이용해 중요 데이터에 아무나 접근하지 못하게 막습니다.
👉 학습하기
6.14 Getter와 Setter (안전 장치)
“자동차 속도계는 눈으로만 보고(Get), 속도 조절은 브레이크/액셀 페달(Set)로만 합니다.” 데이터를 직접 건드리지 않고, 메소드를 통해 안전하게 확인하거나 변경하는 방법입니다.
👉 학습하기
6.15 싱글톤 패턴 (유일한 존재)
“우리 회사의 CEO는 단 한 명뿐입니다.” 프로그램 전체에서 딱 하나만 존재해야 하는 객체를 만드는 방법입니다.
👉 학습하기
Chapter 09. 클래스 완전 정복
자바 프로그래밍의 가장 중요한 핵심인 ‘클래스(Class)’를 배우는 챕터입니다. 어렵게 느껴질 수 있는 개념을 우리 주변의 사물에 비유하여 쉽게 설명했습니다.
🗺️ 학습 로드맵
먼저 전체 그림을 보고 시작해 보세요.
목차
6.1 객체지향 프로그래밍 (부품 조립)
“자동차를 만들 때 엔진, 바퀴, 핸들을 조립하듯이 소프트웨어도 부품(객체)을 조립해서 만듭니다.” 복잡한 프로그램을 작고 관리하기 쉬운 부품 단위로 나누어 개발하는 방법입니다.
👉 학습하기
6.2 객체와 클래스 (설계도와 제품)
“붕어빵 틀(클래스)이 있으면 붕어빵(객체)을 수천 개도 만들 수 있습니다.” 클래스는 객체를 만들기 위한 설계도이고, 객체는 그 설계도로 만들어진 실제품입니다.
👉 학습하기
6.3 클래스 선언 (설계도 그리기)
“어떤 이름의 자동차를 만들지, 어떤 부품이 필요한지 설계도에 적는 과정입니다.”
class키워드를 사용해 새로운 종류의 객체를 정의합니다.
👉 학습하기
6.4 객체 생성과 클래스 변수 (주문과 배송)
“
new는 공장에 ‘이 설계도로 제품 하나 만들어주세요!’라고 주문 넣는 것과 같습니다.” 메모리 어딘가에 실제 제품(객체)이 만들어지고, 우리는 그 위치(주소)를 리모컨(변수)에 저장해서 사용합니다.
👉 학습하기
6.5 ~ 6.8 클래스의 구성 멤버 (자동차의 구성 요소)
자동차에 엔진, 핸들, 기능이 있듯이 클래스도 3가지 요소로 이루어집니다.
- 6.6 필드: 데이터 (자동차의 속도, 색상)
- 6.7 생성자: 초기 설정 (출고 시 색상 결정)
- 6.8 메소드: 동작 (달린다, 멈춘다)
👉 학습하기 (6.5 구성 멤버) 👉 학습하기 (6.6 필드) 👉 학습하기 (6.7 생성자) 👉 학습하기 (6.8 메소드)
6.9 인스턴스 멤버 (개인 물건)
“내 주머니 속의 스마트폰은 나만의 것입니다.” 객체마다 각각 따로 가지고 있는 데이터입니다. (
this= 나 자신)
👉 학습하기
6.10 정적 멤버 (공용 물건)
“교실 벽에 걸린 시계는 모든 학생이 함께 봅니다.” 모든 객체가 공유하는 데이터입니다. (
static= 공용)
👉 학습하기
6.11 final 필드와 상수 (불변의 법칙)
“주민등록번호는 태어날 때 정해지면 평생 바꿀 수 없습니다.” 한 번 값을 정하면 수정할 수 없는 데이터입니다. (
final)
👉 학습하기
6.12 패키지 (폴더 정리)
“파일이 너무 많으면 폴더별로 정리하듯이, 클래스도 패키지로 정리합니다.” 비슷한 성격의 클래스들을 모아두는 디렉토리함입니다.
👉 학습하기
6.13 접근 제한자 (보안 장치)
“우리 집 안방은 가족만 들어올 수 있고, 대문은 누구나 볼 수 있습니다.”
public,private등을 이용해 중요 데이터에 아무나 접근하지 못하게 막습니다.
👉 학습하기
6.14 Getter와 Setter (안전 장치)
“자동차 속도계는 눈으로만 보고(Get), 속도 조절은 브레이크/액셀 페달(Set)로만 합니다.” 데이터를 직접 건드리지 않고, 메소드를 통해 안전하게 확인하거나 변경하는 방법입니다.
👉 학습하기
6.15 싱글톤 패턴 (유일한 존재)
“우리 회사의 CEO는 단 한 명뿐입니다.” 프로그램 전체에서 딱 하나만 존재해야 하는 객체를 만드는 방법입니다.
👉 학습하기
6.16 레코드 (택배 상자)
“데이터를 안전하게 배송하기 위해 밀봉된 상자입니다.” 데이터를 담기 위한 용도로, 한 번 담으면 수정할 수 없는 간단한 객체입니다.
👉 학습하기
확인문제
코딩 영단어 학습 📝
코딩에서 영어 단어의 의미만 정확히 이해해도 절반은 성공입니다! 오늘 배운 핵심 영단어들을 다시 한번 짚고 넘어가 볼까요?
Object-Oriented Programming (OOP): 객체지향 프로그래밍. (거대한 프로그램을 만들 때 아무렇게나 코드를 섞어 짜는 게 아니라, 독립된 부품(객체)들을 하나하나 만들고 이들을 조립해서 시스템을 완성해가는 현대적인 소프트웨어 개발 방식)Object: 오브젝트, 객체, 사물. (소프트웨어 세계 안에서 구현하고자 하는 구체적인 형태를 띤 모든 것. 예: 플레이어, 몬스터, 총알, 자동차 등)Oriented: 오리엔티드, ~지향의. (방향성이나 목표가 무언가를 중심에 두고 향하고 있다는 뜻)