객체지향

Programming/Java

[백 투 더 베이직] 객체지향 SOLID 원칙

SOLID원칙 SRP(Single Responsibility Principle): 단일 책임의 원칙 → 클래스는 단 하나의 책임을 가져야 하며, 클래스를 변경하는 이유는 단 하나의 이유여야 한다. OCP(Open-Closed Principle): 개방 폐쇄 원칙 → 확장에는 열려있어야 하며, 변경에는 닫혀있어야 한다. LSP(Liskove Substitution Principle): 리스코프 치환 원칙 → 상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작 해야한다. ISP(Interface Segregation Principle): 인터페이스 분리 원칙 → 인터페이스는 그 인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다. DIP(Dependency ..

Programming/Java

객체, 클래스 그리고 인스턴스

출퇴근 길이나, 자기 전에 가끔 okky나 velog 등등 개발자 커뮤니티를 한번 훑어보며, 오늘은 무슨 재밌는 이야깃거리가 없나 하고 보는 경우가 있다. 그러던 중 객체, 클래스, 인스턴스에 대한 정의가 무엇인지 물어보는 글이 있어서 곰곰이 생각해보다가 한번 정리를 해본다. 기본적으로 프로그래밍은 실세계에서의 문제를 해결하기 위한 목적(?) 또는 방향성을 지니고 있고, 해당 문제를 어느 정도 추상화해서 다룬다. 이때 실세계에 있는 어떠한 것들을 객체지향에서는 객체라고 가리키고 있다고 생각한다. 예로 내가 학생부 프로그램을 만든다고 했을 때, 학생부에 기입되는 학생들은 하나의 객체이고, 학생부 또한 객체이다. 넓은 의미에서 객체는 우리가 인지를 하고 있는(식별 가능한) 유형, 무형 모든 것을 객체라고 생..

JohnMark
'객체지향' 태그의 글 목록