Other/OOP
헤드퍼스트 디자인패턴
- 스트래티지 패턴 - 오리알고리즘군을 정의하고 각각을 캡슐화하여 바꿔 쓸 수 있게 만듭니다. 스트래티지 패턴을 이용하면 알고리즘을 활용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있습니다.* 교환 가능한 행동을 캡슐화하고 위임을 통해서 어떤 행동을 사용할지 결정합니다. - 옵저버 패턴한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의합니다.* 상태가 변경되면 다른 객체들한테 연락을 돌릴 수 있게 해줍니다. - 데코레이터 패턴 - 커피 옵션객체에 추가요소를 동적으로 더할 수 있습니다. 데코레이터를 사용하면 서브클래스를 만드는 경우에 비해 훨씬 유연하게 기능을 확장할 수 있습니다.* 객체를 감싸서 새로운 행동을 제공합니다. ..
객체지향(OOP) paste
1. 클래스2. 캡슐화와 은닉성3. 상속과 추상클래스4. 다형성5. 생성자와 오버로드 / 오버라이드6. 객체지향 프로그램의 설계원칙 클래스의 정의 - 객체를 정의해 놓은것. (붕어빵 틀)클래스의 용도 - 객체를 생성하는데 사용. 그렇다면 객체는 무엇인가?- 실제로 존재하는것, 사물 또는 개념 모든것이 객체.객체의 용도는 각각의 기능과 속성에 따라 다름.(기능 = 메소드) (속성 = 변수) 오버로딩 - 이름은 같지만, 매개변수는 다름오버라이딩 - 이름도 같고 매개변수도 같아야함. 부모클래스에게 상속받는경우 사용. - 다형성의 정의 : 여러가지 형태를 가질수 있는 능력1.부모객체에 자식객체를 담을수 있음.2.참조변수의 형변환하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것.즉, 조상타입의 참조변수로 ..
interface 를 왜 사용하는가
자바를 처음 접한 건 아마 2001년인 것 같다.그 때는 이것저것 관심이 많아서 온 갖 거를 들쑤시고 다녔는데java 도 그 중에 하나였던듯어렴풋한 기억에 그 때 jdk1.2 였나.. 1.4였나 그 정도 버젼을 썼던 것 같다 java 에 가장 실망한 거는독립 배포가 불가능하다는 거였는데배포하려면 jre도 함께 배포해야 한다는크나큰 단점 때문에 공부를 좀 하다가 말았던 것 같다 그러다가 군대 갔을 때 짬먹으니깐 너무 심심해서 코딩 좀 하고 싶었는데그 때 부실한 인트라넷 환경에서겨우 구한 컴파일러가 JDK 였다.그걸로 이것저것 했던 기억이 난다. 한번은 망고메신저라는 걸 만들었었는데당시 군대에는 맨날 컴퓨터 만지는 행정병이라도 메신저가 없어서 영 불편한 게 아니었다옆 사무실 애들한테 밥 먹으러 가자고 찾아가..