본문 바로가기

OOP3

[OOP] 정적 바인딩 vs 동적 바인딩 바인딩(binding)이란? 네이버 지식백과에서 찾아보면 바인딩은 '컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것' 으로 설명되어있다. 즉, 프로그래머가 ​코딩을 해서 컴파일을 하게 되면 각각의 코드가 메모리 어딘가에 저장되고, 함수를 호출하는 부분에는 그 함수가 저장된 메모리의 주소값이 저장되며 프로그래머가 값을 변경할 수 없는 상태가 된다.여기서 함수를 호출하는 부분(호출부)에 함수가 위치한 메모리 번지(정의부)로 연결시킨 것을 바인딩이라고 한다!  즉, 아래와 같이 정리해볼 수 있겠다. * 함수의 바인딩- 함수를 만들어 컴파일을 하면 각각의 코드가 메모리 어딘가에 저장된다.그리고 함수를 호출하는 부분에는 그 함수가 저장된 메모리 번지수(주소값)이.. 2024. 11. 6.
[OOP] SOLID, 좋은 객체지향 설계의 5가지 원칙 SOLID에 대한 설명에 들어가기 전에 이해에 도움을 줄 수 있는 이야기를 해보겠다."객체지향 프로그래밍의 특성과 장점을 최대한으로 끌어올리기 위해 프로그램을 어떻게 설계해야할까?"📌 객체지향 설계과정요구사항(제공해야 할 기능)을 찾고 세분화 한다. 그리고 그 기능을 알맞은 객체로 할당한다.기능을 구현하는 데에 필요한 데이터를 객체에 추가한다.해당 데이터를 이용하는 기능을 구현한다. 기능은 최대한 캡슐화를 적용한다.객체 간에 어떻게 메소드 호출을 주고받을 지 결정한다.⭐️ 객체지향 설계의 5가지 원칙, SOLIDSOLID라는 좋은 객체지향의 설계의 5가지 원칙이 존재한다. SOLID는 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), D.. 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.