OOP4 [OOP] 상속(Inheritance)과 조합(Composition) 상속(Inheritance)과 조합(Composition)은 객체지향 프로그래밍(OOP)에서 객체 간의 관계를 나타내는 데에 있어서 중요한 개념이다. 이번 글에서는 두 가지 개념의 차이점과 장단점에 대해서 알아보자. 1. 상속(Inheritance)상속은 객체지향 프로그래밍에서 가장 기본적인 개념 중 하나다. 클래스 간의 부모-자식 관계를 정의하여 부모 클래스의 속성과 메서드를 자식 클래스에서 재사용 할 수 있도록 한다. 이렇게 상속을 통해 구현한 클래스를 서브 클래스(Sub Class) 또는 파생 클래스(Derived Class)라고 부르기도 한다. 보통 상속을 사용하는 방법은 아래와 같다.public class Person { private String name; private int ag.. 2025. 3. 23. [OOP] 정적 바인딩 vs 동적 바인딩 바인딩(binding)이란? 네이버 지식백과에서 찾아보면 바인딩은 '컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것' 으로 설명되어있다. 즉, 프로그래머가 코딩을 해서 컴파일을 하게 되면 각각의 코드가 메모리 어딘가에 저장되고, 함수를 호출하는 부분에는 그 함수가 저장된 메모리의 주소값이 저장되며 프로그래머가 값을 변경할 수 없는 상태가 된다.여기서 함수를 호출하는 부분(호출부)에 함수가 위치한 메모리 번지(정의부)로 연결시킨 것을 바인딩이라고 한다! 즉, 아래와 같이 정리해볼 수 있겠다. * 함수의 바인딩- 함수를 만들어 컴파일을 하면 각각의 코드가 메모리 어딘가에 저장된다.그리고 함수를 호출하는 부분에는 그 함수가 저장된 메모리 번지수(주소값)이.. 2024. 11. 6. [OOP] SOLID, 좋은 객체지향 설계의 5가지 원칙 SOLID에 대한 설명에 들어가기 전에 이해에 도움을 줄 수 있는 이야기를 해보겠다."객체지향 프로그래밍의 특성과 장점을 최대한으로 끌어올리기 위해 프로그램을 어떻게 설계해야할까?" 📌 객체지향 설계과정요구사항(제공해야 할 기능)을 찾고 세분화 한다. 그리고 그 기능을 알맞은 객체로 할당한다.기능을 구현하는 데에 필요한 데이터를 객체에 추가한다.해당 데이터를 이용하는 기능을 구현한다. 기능은 최대한 캡슐화를 적용한다.객체 간에 어떻게 메소드 호출을 주고받을 지 결정한다.⭐️ 객체지향 설계의 5가지 원칙, SOLIDSOLID라는 좋은 객체지향의 설계의 5가지 원칙이 존재한다. SOLID는 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), .. 2024. 9. 22. [OOP] 객체지향의 4대 특징 - 캡슐화, 추상화, 상속, 다형성 캡슐화연관된 데이터(변수)와 기능(메소드)을 하나로 묶고, 불필요한 요소를 외부에 노출되지 않도록 설계하는 방식을 뜻합니다. 자바에서는 접근 제어자(public, private, default, protected)를 통해 캡슐화를 구현할 수 있습니다.class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { .. 2024. 6. 10. 이전 1 다음