2025/04 2

[Java]객체지향 프로그래밍 II

1. 상속(inheritance) 1.1 상속이란?기존의 클래스 재사용하여 새로운 클래스 작성하는 것두 클래스를 조상과 자손으로 관계를 맺음 extends 키워드로 상속함 생성자와 초기화 블럭은 상속되지 않고 멤버만 상속자손 클래스의 멤버 개수 >= 조상 클래스의 멤버 개수(extends)  1.2 클래스간 관계상속관계(inheritance)공통부분은 조상에서 관리하고 개별부분은 자손에서 관리조상의 변경은 자손에 영향을 줌A는 B이다(is-a) 포함관계(composite)한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언작은 단위의 클래스를 먼저 만들고 이를 조합해 하나의 커다란 클래스 생성 A는  B를 가지고 있다.(has-a)  1.3 단일 상속(single inheritance)Java는 단..

Java 2025.04.06

[Java]객체지향 프로그래밍 I

1. 객체지향언어기존 프로그래밍 언어에 몇 가지 새로운 규칙을 추가하여 유기적으로 프로그램 구성객체(Object) 를 중심으로 프로그램을 설계하고 구현하는 프로그래밍 방식데이터(속성)와 이를 조작하는 메서드(기능)를 하나의 객체로 묶어 설계하는 방식 장점코드 재사용: 상속을 통해 기존 코드 활용 가능유지보수 용이: 캡슐화를 통해 코드 수정이 쉬움확장성 증가: 다형성을 통해 새로운 기능 추가 가능가독성 향상: 코드가 논리적으로 구성되어 이해하기 쉬움 단점절차지향(Procedural) 프로그래밍보다 구조가 복잡해짐객체 생성과 메시지 전달 과정(메서드 호출 등)에서 오버헤드 발생프로그램 실행 속도가 느려질 수 있음객체 간 의존성 증가 (결합도 문제)  객체지향의 4대 특징1. 캡슐화 (Encapsulation..

Java 2025.04.06