솔직히 OOP가 뭔지 감은 잘 잡히지 않습니다.

개념이나 요소 같은 것들은 알고 있고 저도 '아, 책에서 나온 내용을 적용시켜보자’라는 식으로 프로그램 설계를 하고 있는데 제가 똑바로 하고 있는지 잘 모르겠네요.

이럴땐 어떻게하면 좋죠?

의존성 그것이 중요한겁니다.

의존성과 결합성을 낮게 하는게 중요합니다.

oop가 중요한게 아니라요 :smiley:

의존성이 낮아야 재사용하기 쉽습니다.
결합성이 낮아야 수정 및 확장하기 쉽습니다.

1 Like

아 가장 쉽게 적용시킬 수 있는 부분은 바로 표준 라이브러리 설계를 보고 똑같이 만드는겁니당

세계의 석학들이 머리를 맏대고 며칠간 싸워가며 만든 설계일테니까요 ㅎㅎㅎ

1 Like

저도 잘 모릅니다만, 제 경우엔

  1. 로직의 역할을 철저히 분리하고
  2. 데이터의 니꺼 내꺼를 명확히 구분 짓고
  3. 1매소드 1기능 구현
  4. 비슷한 코드들의 반복을 최소화

하는데 노력하곤 합니다.

2 Likes

상속부터 생각하면 결과가 잘 안나옵니다.

  1. 의사 코드로 핵심 기능을 구상하기
  2. 구상대로 핵심 기능을 구현하기
  3. 작은 작동부로 나누기
  4. 작동부의 시작, 종료, 혹은 호출부에 Callback or Message Queue 처리
  5. 확장 기능을 함수로 만들기
  6. 리팩토링 -> 이 시점에서 상속을 고려해 봅니다.
  7. 확장 기능을 별도 클래스로 만들고 기본 기능 상속

저두욤

요러면 대체로 잘 안되더라고요…

소프트웨어의 기능을 추가하는데
이렇게 하니까 코드가 중복되지 않더라
전에 짜둔거 재사용이 편하드라 그런 내용입니다.
https://www.informit.com/articles/article.aspx?p=1404056
2009년 인터뷰 참고.

감이 잘 안 잡히긴 해요. 심오하기도 하고.

OOP에 대해 다룬 몇가지 서적이 있으니 그걸 읽어보시는 걸 추천드립니다.

정답은 없어도 정석은 있다!

기억하십시오 ㅎㅎㅎㅎ

1 Like

저도 잘모르는데 이렇게만 안하면될거같아요

좋은 예시
ex

나쁜 예시
ex2 ex3
ex4

ex5

ex6

1 Like

Hoxy? JAVA???

진짜ㄹㅇ

웨자바않혜여?

전 자바의 대체제 갓 .Net을 믿고 있습니다.

믿고있다고 마소~ :smiley:

5252! 닷넷의 대체와 모바일 프로그래밍을 동시에 할 수 있는 언어는 자바밖에 없다구?

솔직히 아직 상속이 필요한 상황을 겪어 본적이 없네요.
아직 내공이 부족한지 상속이 무조건 필요한 상황을 마주한 적도 없습니다ㅎㅎㅎ

어째서 갓바가 나쁩니까

갓바는 오오피만 알면 되는데
씨플플은 끝이 없다구요

그럼 중도인 씨샵합시다

저도 상속이 진짜 필요했던 상황은 별로 겪어본 적이 없습니다.
사용 피드백이 충분히 쌓이고,
피드백의 결과로 인해 코드가 비대해지는 시점이 되어야
이걸 어떻게 최적화 할까 고민하게 되면서 자연스럽게 상속을 생각하게 되는 거 같습니다.
물론 저보다 비상한 사고력을 가지신 분들은
처음부터 AtoZ 블루프린트를 가지고 치밀한 구조를 작성하시겠지만요.