일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- POP
- 부스트코스
- CleanCode
- 문법
- DesignPattern
- 클린코드
- 함수형패러다임
- fp
- 협업
- iOS프로그래밍
- 네이밍
- interface
- 개발자
- Swfit
- SWIFT
- 개발
- 의존성
- OOP
- IOS
- protocol
- 디자인패턴
- 함수형프로그래밍
- 의도
- 이름
- 클린소프트웨어
- 인터페이스
- Solid
- 아이폰프로그래밍
- 고차함수
- 객체지향프로그래밍
- Today
- Total
목록2019/06/23 (2)
밤에 쓴 코드
객체와 자료구조 객체는 일을 한다 . 자료구조는 자료를 저장한다. 이 둘을 적절한 상황에 사용하기 위해 한번 공부해보자 우리는 객체를 디자인함에 있어서 , 객체의 내부의 변수를 private로 감추어둔다. 외부의 객체가 내 변수에 의존하지 않게 하기 위해서 이다. 변수의 수정에 외부에 영향을 주지 않게 하기 위해서, 외부에서는 내 변수에 대해 아무것도 모르게 하려고 더 좋은 구조를 위해서 변수의 수정에 자유로울 수 있기 위해서이다. 객체는 내부의 구현을 숨기고 *객체가 무슨 일을 하는지 * 만을 공개한다. 자료구조는 내부의 변수(자료)를 공개하고 별다른 동작을 하지 않는다 struct MyPoint { private var x: Int private var y: Int func getX() -> Int ..
싱글턴 패턴 세상에 단 하나뿐인 특별한 객체 어떤 상황에서 필요한 패턴일까? 전역변수와의 차이는 무엇일까? 정보를 한곳에 모아두고 하나의 객체만이 그 정보를 관리해아하는 경우가 있다. 적당한 예로는 수강신청프로그램 이 있다. 수강신청이란 치열한 전쟁과도 같은데 성공적인 수강신청을 위해 1분1초를 다투며 마우스를 클릭한다. 만약 여러 수강신청플랫폼을 통해서 수강신청을 할 수 있다고 가정을 해보자. 수강신청알고리즘은 이런식으로 수강신청을 할 수 있다고 가정하자. int 정원 = 1 int 현재인원 = 0 public void 수강신청() { if ( 정원 > 현재인원 ) { 현재인원++; 수강성공출력(); } else { 수강실패출력(); } } 별 문제 없어보이는 데 어떤 문제가 생길까? 수강신청은 병렬로..