본문 바로가기

객체지향

(4)
[POCU-OOP] 코딩 스탠다드와 관련한 내용들 이 포스팅은 POCU 아카데미의 '개체지향 프로그래밍 및 설계(Java)' 동영상 강의를 학습하고 정리한 내용입니다. 제 의견이 추가되어 강의 내용과 포스팅 내용이 일치하지 않을 수 있다는 점 미리 말씀드립니다. 이 글에서는, 강의를 들으면서 알게된 코딩 스탠다드를 정리하였습니다. 추후 몸에 익히면 좋을 내용들이라고 생각합니다. 생성자로 초기화를 해야하는 이유 개념상의 문제 : 생성자는 개체를 생성하는 공장 역할을 한다. 공장에서 찍어 나온 물건이 비어 있다는 것은 말이되지 않는다. 후조건의 문제 : 함수에 “선조건과 후조건”이 적용되는 것처럼, 생성자도 적용되어야 한다. 생성자는 어떤 개체를 생성할 때, 생성되자마자 유효한 것을 보장하기 위한 함수이다. 따라서 생성자는 “개체의 상태는 개체 생성과 동시.. 2023. 12. 24. 20:15
[POCU-OOP] 디자인 패턴 이 포스팅은 POCU 아카데미의 '개체지향 프로그래밍 및 설계(Java)' 동영상 강의를 학습하고 정리한 내용입니다. 제 의견이 추가되어 강의 내용과 포스팅 내용이 일치하지 않을 수 있다는 점 미리 말씀드립니다. 인간은 새로운 문제를 접할 때, 우선 장기기억에서 과거에 겪었던 비슷한 문제를 찾는다. 이후 그 문제를 성공적으로 해결했던 방법은 새로운 문제에 적용한다. 즉, 인간은 패턴인식 머신이라고 볼 수 있다. 인류는 반복을 통해 정형화된 문제해결 방법을 만들어 왔으며, 비슷한 문제들에 반복적으로 적용하였다. 프로그래밍 관점에서의 패턴들은 다음의 특성을 지닌다. 디자인 패턴은 소프트웨어 설계에서 흔히 겪는 문제에 대한 해결책을 제시된 패턴이다. 하지만, 완성된 설계가 아님에 주목해야 한다. 디자인 패턴은.. 2023. 12. 24. 11:47
[POCU-OOP] 개체지향 프로그래밍 특성(OOP의 7대 특성) 이 포스팅은 POCU 아카데미의 '개체지향 프로그래밍 및 설계(Java)' 동영상 강의를 학습하고 정리한 내용입니다. 제 의견이 추가되어 강의 내용과 포스팅 내용이 일치하지 않을 수 있다는 점 미리 말씀드립니다. 1. 캡슐화(encapsulation) 캡슐화는 데이터( = 멤버 변수)와 그 데이터에 작용하는 동작( = 메서드)를 하나로 묶은 것을 의미한다. 정보를 개체 내부에 숨김으로서, 데이터를 외부로부터 보호한다. 사용자는 클래스 속을 알 필요가 없으며, 이는 사용자가 함수 속을 알 필요가 없는 것과 마찬가지이다. 함수를 분리할 때 적용했던 원칙(중복된 코드가 있으면 private 메서드로 추출)을 클래스에 적용하는 것이다. 2. 상속(inheritence) 상속은 이미 존재하는 개체를 기반으로 “확.. 2023. 12. 23. 20:29
[POCU-OOP] 개체지향 프로그래밍의 필요성 이 포스팅은 POCU 아카데미의 '개체지향 프로그래밍 및 설계(Java)' 동영상 강의를 학습하고 정리한 내용입니다. 제 의견이 추가되어 강의 내용과 포스팅 내용이 일치하지 않을 수 있다는 점 미리 말씀드립니다. 개체지향 프로그래밍의 필요성 OOP가 어떻게 등장하였는지, OOP를 하는 이유는 무엇인지 알기 위해, 과거로 거슬러 설명한다. 절차적 언어(C언어)에서 데이터를 표현하려면 다음과 같이 나타낼 수 있다. String[] : 배열 김땡땡 김밥 int[] : 배열 2019001 2019002 int[] : 배열 4.1 4.5 위 데이터에서 나타내는 것은 {김땡땡,2019001,4.1} , {김밥,2019002,4.5} 이지만, 데이터의 컬럼(ex. 이름) 별로 배열을 생성하여, 병렬적으로 저장하고 있.. 2023. 12. 23. 18:05