Java/스프링 입문을 위한 자바 객체 지향의 원리와 이해 3

Ch 05. 객체 지향 설계 5원칙 SOLID

객체 지향 설계의 원칙, SOLID 에 대해 각 예시와 함께 살펴보려고 한다. 평소에 자주 사용하는 Java, JDBC 도 SOLID와 관련되어 있다. SRP (Single Responsibility Principle, 단일 책임원칙) 단일책임원칙이란? 하나의 클래스는 하나의 역할만 수행해야한다는 의미. "어떤 클래스를 변경해야하는 이유는 오직 하나뿐이어야한다." Ex 1) SRP를 만족하는 설계 "남자" 클래스는 다음 네 가지 역할을 하고 다음 8개의 메서드로 구성된다. 남자친구 역할 - 기념일 챙기기(), 데이트하기() 아들 역할 - 효도하기(), 안마하기 사원 역할 - 출근하기(), 아부하기()" 소대원 역할 - 사격하기(), 구보하기() 이를 SRP에 맞게 바꾸려면? 남자클래스 안에서의 역할과 책..

Ch 02. Java와 절차적/구조적 프로그래밍

Java 로 작성된 프로그램을 실행하기 위한 과정에 대해 알아보려고한다. JDK, JRE, JVM 의 역할 Java 로 작성된 프로그램을 실행하기 위해서는 JVM(Java Virtual Machine, 자바 가상 머신)이 필요하다. JVM으로 Java 코드를 실행하는 것은 컴퓨터가 어떤 프로그램을 실행하는 것과 비슷하다. ex) 어떤 소프트웨어 개발자가 개발 도구를 이용해서 개발하고 OS를 통해서 물리적 컴퓨터인 하드웨어 상에서 구동한다. JDK(Java Development Kit, 자바 개발 도구): JVM용 소프트웨어 개발 도구이다. 컴파일러인 javac.exe를 포함한다. JRE(Java Runtime Enviornment): JVM용 운영체제로서Java.exe(자바 프로그램 실행기)를 포함한다...

Ch 03. 자바와 객체 지향

객체 지향 객체 지향은 '인간' 지향 언어이다. 객체 지향은 현실 세계를 반영한다. 기계에 맞춰서 프로그래밍하던 방식(절차 지향 프로그래밍)을 버리고 인간이 사물을 인지하는 방식대로 프로그래밍하고자 만들고자 객체 지향 프로그래밍 언어가 탄생했다. 클래스와 객체의 관계는 붕어빵틀과 붕어빵이라기보다는 분류와 실체의 개념에 가깝다. 클래스는 분류, 집합, 같은 속성과 기능을 가진 객체를 총칭하는 개념이다. 객체지향의 대표적인 특성 캡슐화(정보 은닉) 추상화(모델링) 상속(재사용) 다형성(사용 편의) 추상화 = 모델링 Object 의 의미는 '객체'보다는 '개체'라는 뜻에 더 가깝다. 객체는 세상에 존재하는 유일무이한 사물을 말한다. (By 저자) 객체를 특성(속성, 기능)에 따라 분류해보니 객체를 통칭할 수 ..