프로그래밍/객체지향 4

객체(Object)와 클래스(Class)란?

아래 내용들은 모두 ChatGPT 님의 말씀 입니다. 📌 클래스(Class)와 객체(Object)는 다르지만, 서로 밀접한 관계를 가지고 있다.1️⃣ 클래스(Class)란?설계도(Blueprint) 역할객체를 만들기 위한 틀(Template)속성(필드)과 행동(메서드)을 정의실체가 아니라 개념적인 존재class Car { // 속성(필드) private String model; private int speed; // 동작(메서드) public void accelerate() { speed += 10; }} 2️⃣ 객체(Object)란?클래스를 기반으로 실제 메모리에 할당된 실체객체는 클래스를 통해 만들어지고, 독립적인 값을 가짐클래스를 바탕으로 만들어진 인스..

[객체지향] 의존성 주입(DI) 및 의존성 역전(DIP)

Dependecy Injection - 디자인 패턴Dependecy Inversion Principle - 객체지향 원칙   수다수다처음 자바를 공부할 때, 의존성 주입과 제어의 역전 등등 여러 개념을 공부했지만 사실 이해가 제대로 안 되었다.이론으로 공부를 하니까.. 머리에서는 도대체 무슨 말인데 라는 생각 밖에 없었다...^^;;; 시간이 흘러 개발 경험 1년을 넘어 2년차를 바라보면서 우연히 의존성 주입 내용을 읽었는데무슨 이야기인지.. 이해가 되었다.그랬구나,, 그래서 그랬구나.. 완벽하게 이해한 것은 아니지만 내가 이해한 것을 최대한 남겨보려고 한다.  의존하다.먼저 의존성 주입을 하기 전에, 의존한다는 것이 무엇인지 알아야 한다. 의존한다를 아래 코드와 같이 보여줄 수 있다.// SpiderM..

[객체지향] 4가지 특징

해당 내용은 인프런의 즐거운 자바 를 보고 정리한 내용입니다!  객체지향객체지향 프로그래밍은 내가 만들 객체들이 메모리에 올라간 후, 어떻게 서로 관계를 맺고 동작할 지가 정리돼야 할 수 있다. 엘런 커티스 케이는 객체 지향의 핵심은 "메시징"이라고 했다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈(클래스) 내부의 속성(필드)과 행동(메서드)이 어떤가보다 모듈이 어떻게 커뮤니케이션하는가에 달려있다.즉, 객체들 간에 커뮤니케이션이 일어난다는 의미이다. 그렇다면 메시징은 무엇인가?어떤 객체가 다른 객체의 메소드를 어떻게 호출하는 것을 우리는 메시징이라고 한다. 객체지향 프로그래밍을 한다는 것은 메소드가 언제 호출되고, 어떻게 호출되고, 메소드의 이름은 어떻게 지어야하는지 어떻게 호출해야하는지 고..