면접보는데


OOP 아냐고 묻고 그다음에 SOLID 말해보래서 SOLID 말하고 SRP가 뭔지 아냐고 묻더라


SRP는 단일 책임 원칙인데


책임이라는건 개인의 주관에 따라 다르고


책임 원칙이라는 책임은 기본적으로 팀에 따라 다른거라 결국 원칙적으로 OOP는 원칙이라기보다는 사회적 합의로 된 커뮤니케이션 논리에 가깝다


뭐 그러면 자바나 C#은 OOP언어는 어떻게 된거냐 하길래 


OOP 논리에서 그부분은 합의적인 논리고 실제 구현은 오브젝트를 언어차원에서


object 상속을 통해서 생성되는 모든 것을 전부 오브젝트라는 논리로 만들었다


다만 이논리는 다르게 말해서


모든것이 OOP라는건 어떤것도 OOP가 아니다라고 할 수 있다라고 말했었음.


실제로 C#과 자바는 Object를 상속하기때문에 모든 것이 객체라는 논리로 접근하고 있으니까.


근데 그 말 하더니 나보고 잘 모른다고 하더라


몇년이 지난 지금와서 생각해봐도 내 답은 맞았다. 


꽤 이름있는 회사였는데 사실 지금와서 생각해보면 SRP로 어떻게 나누었느냐같은 걸 예시로 설명해야했나 싶긴하다.


사실 여기서 모범적인 일반적인 답은 클래스의 변경 이유를 단 하나만 가지도록 설계해야한다는 말이긴했겠지.


하지만 좀 더 근본적인 대답을 했던게 틀렸던게 아니었을까.


아마 그 사람은 클래스 변경 이유와 그 사례를 묻고 싶었겠지만 저 답변 이후로 나보고 잘 모른다는 말과 함께 여기까지 하자고 했었다.


아직도 이름있는 회사 중 유일하게 면접까지 나름 큰 규모의 회사였는데 그 이후로는 그런 나름 큰 규모의 회사는 면접제안도 코테 제안도 없어서


그냥 창업을 하기로 생각했는데, 지금은 잘 모르겠다


만들고 있는 게임의 규모도 내 능력에 비해서 과도하게 크고. 창업은 성공할 수 있을지 원.