Java
Java_13) 오버로딩과 오버라이딩
2025.11.10
Java 객체지향 프로그래밍에서 메서드를 다루는 핵심 기법에는 오버로딩(Overloading)과 오버라이딩(Overriding)이 존재한다. 두 개념은 이름이 유사하여 혼동되기 쉽지만, 각각이 해결하고자 하는 문제와 사용 목적이 명확히 구분된다. 오버로딩은 같은 기능을 다양한 입력 형태로 제공하여 사용 편의성을 높이는 기법이며, 오버라이딩은 상속받은 메서드를 자식 클래스의 요구사항에 맞게 재정의하여 확장성을 제공하는 기법이다.학습 목표오버로딩의 정의와 성립 조건을 이해한다오버라이딩의 정의와 성립 조건을 이해한다오버로딩과 오버라이딩의 차이점을 명확히 구분한다실무에서 두 기법을 올바르게 적용하는 방법을 학습한다- 오버로딩의 정의오버로딩은 같은 이름의 메서드를 매개변수의 개수, 타입, 순서를 다르게 하여 한 ..
Java
Java_12) Inheritance - 상속
2025.08.27
- 상속의 정의**상속(Inheritance)**은 부모(상위) 클래스의 필드와 메서드를 자식(하위) 클래스가 물려받아 재사용하는 것이다. 객체 생성 시 부모 부분 → 자식 부분 순으로 메모리에 구성되며, 자식 객체 내부에 부모 객체가 존재하는 것처럼 실행된다.- 상속의 장점재사용성/생산성: 코드를 재사용하여 새로운 클래스를 정의할 수 있다유지보수성: 공통 코드를 상위 클래스에 두어 변경이 용이하다확장성: 하위 클래스에서 오버라이딩으로 동작을 재정의할 수 있다- 상속의 특징단일 상속: 다중 상속은 불가능하다 (부모는 하나)Object 클래스: 모든 클래스는 Object라는 최상위 클래스를 상속받는다접근 범위: 오버라이딩 시 접근 범위는 축소할 수 없다ex: Man과 BusinessMan- 부모 클래스: ..
Java
Java_11) Access Modifier, ObjectArray
2025.08.27
- 접근제한자의 개념**접근제한자(Access Modifier)**는 클래스, 필드, 메서드 등의 구성 요소에 대한 접근 범위를 제한하는 키워드이다. 불필요하거나 위험한 접근을 막아 데이터 무결성과 보안을 유지하는 역할을 한다.- 접근제한자의 종류와 범위접근 범위는 다음과 같은 순서로 넓어진다: private > default > protected > public접근제한자 접근 범위public어디서든 접근 가능protected같은 패키지 + 상속관계인 경우 접근 가능default같은 패키지 내에서만 접근 가능private오직 해당 클래스에서만 접근 가능- 정보은닉의 중요성**정보은닉(Information Hiding)**은 객체의 내부 구현 세부사항을 외부로부터 숨기는 것이다. 이를 통해:데이터의 무결성..
Java
Java_10) Class - 객체 (Object)
2025.08.27
**객체지향 프로그래밍(OOP, Object-Oriented Programming)**은 세상을 객체들의 상호작용으로 모델링하여 프로그램을 구성하는 설계 방식이다.- 핵심 개념 정리객체(Object): 현실에서 목적과 가치가 있어 논리적으로 식별 가능한 것예시: 사람, 자동차, 주문, 배송 등클래스(Class): 객체를 만들기 위한 설계도필드(Field): 데이터를 저장하는 변수메서드(Method): 객체의 기능을 정의하는 함수인스턴스(Instance): 클래스로부터 new 키워드를 통해 생성한 실제 메모리를 가지고 있는 객체- 추상화 과정추상화는 문제 해결에 필요한 속성과 기능만 걸러내서 단순화하는 과정이다.구현하고자 하는 프로그램에서 필요한 객체 식별객체들의 공통적인 속성, 기능 수집프로그램 목적에 ..
Java
Java_09) Method
2025.08.27
메서드의 개념과 필요성을 완전히 이해한다메서드의 구조와 각 구성 요소의 역할을 파악한다지역변수와 매개변수의 생명주기와 스코프를 이해한다Call By Value의 동작 원리와 기본형/참조형의 차이점을 명확히 한다메서드 오버로딩의 조건과 제약사항을 정확히 파악한다실전에서 활용할 수 있는 다양한 메서드를 설계하고 구현한다 **메서드(Method)**란 class 내부에 정의된 함수(Function)를 말한다. 특정 기능을 수행하는 코드블록을 정의하고, 필요할 때 호출하여 재사용할 수 있는 프로그래밍의 핵심 구성 요소다. - 메서드를 사용하는 이유중복 코드 제거: 반복되는 코드를 하나의 메서드로 작성하여 재사용한다가독성 향상: 복잡한 기능을 의미 있는 이름의 메서드로 분리한다유지 보수성 향상: 기능 변경..