객체지향 2

[Spring] 객체지향설계(SOLID)와 스프링

- 스프링? 스프링은 자바 언어 기반의 프레임워크이다. 자바의 가장 큰 특징이 뭘까? - 객체 지향성이다. 결국 스프링은 객체 지향 언어가 가진 강력한 특징들을 살려낼 수 있는 프레임워크이다. 그럼 살려내야 할 객체 지향 특징이 뭘까? - 객체 지향의 특징 객체 지향의 특징으로는 추상화, 캡슐화, 상속, 다형성 등이 있다. 각각의 특징들을 본 포스팅에서 서술하진 않겠다. 그래서 객체 지향적으로 프로그래밍을 하면 좋은 점이 뭘까? 추상화니, 다형성이니 어려운 말 쓰지말고 생각해보자. 결론부터 이야기 하자면, 객체 지향 언어의 가장 큰 장점은 "유연성" 이라고 생각한다. 객체 지향 프로그래밍은 코드 자체를 명령어들의 집합으로 보는 시선을 벗어나, 독립적인 단위로 구성할 수 있고 상호간의 교류가 가능한 "객체..

Spring 2023.06.19

[Java] 프로그래머스 Level 1: 공원 산책

- 문제설명 - 제한사항 - 예시 & 입출력 예 - 해결과정 문제가 단순하지 않아 구현해야 하는 기능이 뭔지 천천히 생각해봤다. 우선 첫번째로, 결국 출발점 S의 위치가 장애물을 만나는 상황이나 배열범위 밖으로 넘어가는 것을 체크하려면 먼저 기존 ["SOO", "OOO", "OOO"] 형식으로 주어져있는 1차원 park배열을 2차원배열로 만들어야 겠다는 생각을 했다. 이렇게 되면 추후 모든 상황을 비교할 때, 단순히 배열의 좌표값 끼리 비교하면 되므로 편리하다. 다음으로 출발지점 S의 좌표값을 얻는 로직을 작성하자. (S는 오직 하나 --> [1,2] 처럼 1차원 배열로 생성) 다음으로 장애물 지점 X의 좌표값을 얻는 로직을 작성하자. 여기서 S와 동일한 논리로 구할 수 있지만, S는 무조건 하나인 반면..