Computer Science/Java

[Java ] 개념노트29 상속이란 무엇인가?

[Java 개념노트 29] 상속이란 무엇인가?안녕하세요. Java 개념노트 시리즈 스물아홉 번째 글입니다.지난 글에서는 클래스를 폴더처럼 분류하고 다른 패키지의 클래스를 가져오는 패키지와 import에 대해 정리했습니다. 이번 글에서는 객체지향 프로그래밍의 핵심 개념 중 하나인 상속에 대해 알아보겠습니다.상속은 자바 객체지향에서 매우 중요한 개념입니다. 부모 클래스가 가진 필드와 메서드를 자식 클래스가 물려받아 사용할 수 있게 해주며, 코드 재사용과 확장에 큰 도움을 줍니다.1. 상속이란?상속은 부모 클래스가 가진 필드와 메서드를 자식 클래스가 물려받는 기능입니다.현실에서도 부모의 특징을 자식이 물려받는다고 표현합니다. 자바에서도 비슷하게, 공통 기능을 부모 클래스에 만들고 자식 클래스가 그 기능을 이어..

[Java] 개념노트 28 패키지와 import 이해하기

[Java 개념노트 28] 패키지와 import 이해하기안녕하세요. Java 개념노트 시리즈 스물여덟 번째 글입니다.지난 글에서는 객체의 데이터를 안전하게 보호하는 캡슐화와 getter/setter에 대해 정리했습니다. 이번 글에서는 자바에서 클래스를 분류하고 관리하는 패키지와 다른 패키지의 클래스를 가져올 때 사용하는 import에 대해 알아보겠습니다.프로그램이 작을 때는 클래스가 몇 개 없기 때문에 한 곳에 모아두어도 괜찮습니다. 하지만 프로젝트가 커지면 회원 클래스, 상품 클래스, 주문 클래스, 유틸 클래스처럼 많은 클래스가 생깁니다. 이때 클래스를 역할별로 정리하기 위해 사용하는 것이 패키지입니다.1. 패키지란?패키지는 자바 클래스를 묶어서 관리하는 단위입니다. 쉽게 말하면 클래스를 정리하는 폴더..

[Java]개념노트 27 캡슐화와 getter/setter 이해하기

[Java 개념노트 27] 캡슐화와 getter/setter 이해하기안녕하세요. Java 개념노트 시리즈 스물일곱 번째 글입니다.지난 글에서는 클래스, 필드, 메서드, 생성자의 접근 범위를 정하는 접근 제어자에 대해 정리했습니다. 이번 글에서는 접근 제어자와 깊게 연결되는 객체지향 핵심 개념인 캡슐화와 getter/setter에 대해 알아보겠습니다.자바에서 객체의 필드를 모두 public으로 열어두면 외부에서 값을 마음대로 바꿀 수 있습니다. 처음에는 편해 보이지만, 프로그램이 커질수록 데이터가 잘못 변경되는 문제가 생길 수 있습니다. 이런 문제를 줄이기 위해 사용하는 개념이 바로 캡슐화입니다.1. 캡슐화란?캡슐화는 객체의 데이터를 외부에서 직접 접근하지 못하게 숨기고, 정해진 메서드를 통해서만 사용하도..

[Java] 개념노트 26 접근 제어자 이해하기

[Java 개념노트 26] 접근 제어자 이해하기안녕하세요. Java 개념노트 시리즈 스물여섯 번째 글입니다.지난 글에서는 값을 변경하지 못하게 막는 final 키워드에 대해 정리했습니다. 이번 글에서는 클래스, 필드, 메서드, 생성자에 접근할 수 있는 범위를 정하는 접근 제어자에 대해 알아보겠습니다.자바 객체지향을 공부하다 보면 public, private, protected 같은 키워드를 자주 만나게 됩니다. 이 키워드들은 단순히 붙이는 장식이 아니라, 코드의 안정성과 유지보수성을 높이는 중요한 문법입니다.1. 접근 제어자란?접근 제어자는 클래스, 필드, 메서드, 생성자에 접근할 수 있는 범위를 정하는 키워드입니다.어떤 코드는 외부에서 자유롭게 사용할 수 있어야 하고, 어떤 코드는 클래스 내부에서만 사..

[Java] 개념노트 25 final 키워드 이해하기

[Java 개념노트 25] final 키워드 이해하기안녕하세요. Java 개념노트 시리즈 스물다섯 번째 글입니다.지난 글에서는 클래스가 함께 공유하는 값과 기능을 만들 때 사용하는 static 키워드에 대해 정리했습니다. 이번 글에서는 값을 변경하지 못하게 막을 때 사용하는 final 키워드에 대해 알아보겠습니다.final은 자바에서 중요한 키워드입니다. 변수에 붙이면 값을 다시 바꿀 수 없고, 메서드에 붙이면 오버라이딩을 막을 수 있고, 클래스에 붙이면 상속을 막을 수 있습니다. 처음에는 “변경 금지”라는 큰 의미로 이해하면 좋습니다.1. final이란?final은 한 번 정해진 값을 다시 변경하지 못하게 막는 키워드입니다.변수, 필드, 메서드, 클래스에 사용할 수 있으며 어디에 붙느냐에 따라 의미가 ..

[Java] 개념노트 24 static 키워드 이해하기

[Java 개념노트 24] static 키워드 이해하기안녕하세요. Java 개념노트 시리즈 스물네 번째 글입니다.지난 글에서는 현재 객체 자기 자신을 가리키는 this 키워드에 대해 정리했습니다. 이번 글에서는 객체지향을 공부할 때 자주 헷갈리는 static 키워드에 대해 알아보겠습니다.static은 자바를 처음 배울 때부터 자주 등장합니다. 대표적으로 public static void main(String[] args)에서 이미 본 적이 있습니다. 그런데 정확히 static이 무엇인지 모르고 넘어가면 클래스와 객체를 배울 때 계속 헷갈릴 수 있습니다.1. static이란?static은 클래스에 소속되는 멤버를 만들 때 사용하는 키워드입니다.일반 필드와 일반 메서드는 객체를 생성한 뒤 객체를 통해 사용합..

[Java ] 개념노트 23 this 키워드 이해하기

[Java 개념노트 23] this 키워드 이해하기안녕하세요. Java 개념노트 시리즈 스물세 번째 글입니다.지난 글에서는 객체를 만들 때 자동으로 실행되는 생성자에 대해 정리했습니다. 이번 글에서는 생성자와 메서드에서 자주 등장하는 this 키워드에 대해 알아보겠습니다.this는 처음 보면 조금 헷갈릴 수 있습니다. 하지만 의미는 단순합니다. this는 현재 객체 자기 자신을 가리키는 키워드입니다.1. this란?this는 현재 객체를 가리키는 키워드입니다.객체가 여러 개 만들어졌을 때, 각 객체는 자기만의 필드 값을 가지고 있습니다. 이때 객체 내부에서 “내 필드”, “내 메서드”, “나 자신”을 가리킬 때 this를 사용할 수 있습니다.쉽게 말하면this는 객체 안에서 자기 자신을 가리키는 말입니다..

[Java ] 개념노트 22 생성자란 무엇인가? 객체를 만들 때 필드 값 초기화하기

[Java 개념노트 22] 생성자란 무엇인가? 객체를 만들 때 필드 값 초기화하기안녕하세요. Java 개념노트 시리즈 스물두 번째 글입니다.지난 글에서는 자바 객체지향의 시작점인 클래스와 객체에 대해 정리했습니다. 이번 글에서는 객체를 만들 때 자동으로 실행되는 특별한 메서드인 생성자에 대해 알아보겠습니다.객체를 만들고 나서 필드에 값을 하나씩 넣는 방식은 가능하지만, 객체가 많아질수록 코드가 길어질 수 있습니다. 생성자를 사용하면 객체를 생성하는 순간 필요한 값을 바로 넣어줄 수 있습니다.1. 생성자란?생성자는 객체가 생성될 때 자동으로 호출되는 특별한 메서드입니다.생성자는 주로 객체의 필드 값을 초기화할 때 사용합니다. 예를 들어 학생 객체를 만들 때 이름, 나이, 점수를 처음부터 넣어주고 싶다면 생..