나를 기록하다
article thumbnail
[객체지향의 사실과 오해] 6장. 객체 지도
Review/Book 2023. 10. 13. 18:00

[예시] 여행 중 다른 마을로 이동해야 하는데 길을 모를 때 두 가지 방법 첫 번째, 지나가는 사람에게 마을까지 가는 길 묻기 "이 길을 따라 5km 정도 직진하면 강이 나온다. 강둑을 따라 남쪽으로 2km 이동하면 작은 야산이 나온다. 약수터 가는 길을 따라 산을 넘으면 마을이 나온다." 사람들이 올바른 길을 알려주고 지시를 올바르게 따른다면 원하는 마을로 이동 가능 일반적이지 않고 재사용이 불가능 강이나 산과 같은 랜드마크가 없다면 경로 설명에 어려움 설명만으로 경로 찾기 어려움 →기능적이고 해결지향적인 접근법 두 번째, 지도에 표시된 길을 따라가기 지도는 실세계의 지형을 기반으로 만들어진 추상화된 모델 길을 찾는 데 필요한 풍부한 컨텍스트 정보가 함축 길을 찾는 데 필요한 모든 정보가 지도 안에 포..

article thumbnail
[TIL-39/2310111] 제네릭스, 컬렉션 프레임워크, 람다, 스트림
TIL 2023. 10. 12. 01:00

저번 주 금요일 운동을 하고 상태가 좋지 않아 지켜보다가 다음날인 토요일에 병원을 들렸는데 "횡문근 융해증"이라는 진단을 받았다. 하필 토요일이여서 횡문근 융해증을 치료할 수 있는 신장 내과가 전부 문을 열지 않아서 어쩔 수 없이 응급실에 갔다. 무리한 운동이 원인이라는 설명을 들었고 수액을 맞다가 퇴원했다. 매일 알고리즘 문제를 1문제 이상 풀고, 1일 1커밋도 140일 이상 이어가고 있었는데 아픈 몸으로 인해 무리하지 말고 쉬었다. 그렇게 며칠간 쉬다가 어제부터 다시 공부를 조금씩 시작하고 있지만 너무 무리하진 않고 조금씩 예전의 공부량으로 돌아가려 한다. 오늘은 MVC 공부에 앞서서, 자바를 하면서 계속 만나왔지만 다음으로 미루던 람다식, 스트림, 제네릭스를 제대로 공부하고자 예전에 들었던 나도코딩..

article thumbnail
[Java] 익명클래스, 람다와 스트림
Java 2023. 10. 11. 23:34

익명 클래스 이름이 없는 클래스 내부 클래스 중 특별한 클래스 1회성 코드. 해당 객체 하나만을 위한 클래스 [예시] 카페에서 커피 주문. 특별한 손님을 위한 익명 클래스 public class Main { public static void main(String[] args) { //익명 클래스 Coffee c1 = new Coffee(); c1.order("아메리카노"); System.out.println("------------------------"); Coffee c2 = new Coffee(); c2.order("카페라떼"); System.out.println("------------------------"); //굉장히 친한 친구 방문 Coffee specialCoffee = new Coffe..

article thumbnail
[Java] 컬렉션 프레임워크(List, Set, Map, Iterator)
Java 2023. 10. 11. 20:00

컬렉션 프레임워크 기존 배열(크기 고정) public class Main { public static void main(String[] args) { //컬렉션 프레임워크(List, Set, Map) -> 원하는 만큼 데이터를 추가하거나 삭제할 수 있음 int[] array = new int[3]; // 배열 -> 크기 고정 array[0] = 1; array[1] = 2; array[2] = 3; } } 컬렉션 프레임워크를 사용하면 원하는 만큼 데이터를 추가하거나 삭제할 수 있다. ArrayList [예시] 수강신청 선착순 5명 추가, 조회, 삭제 public class Main { public static void main(String[] args) { //컬렉션 프레임워크(List, Set, Map..

article thumbnail
[Java] 제네릭스(Generics)
Java 2023. 10. 11. 15:00

제네릭스(Generics) 정의 다양한 타입의 객체를 지원하는 클래스나 인터페이스 또는 메서드를 정의하는 방법 똑같은 동작을 하는 클래스나 메서드를 여러 번 만들 필요 없이 딱 한 번만 정의한 후 여러 타입에 대해서 지원할 수 있도록 해주는 것 [예시] 제네릭스 사용 전 public class Main { public static void main(String[] args) { //제네릭스 int[] iArray = {1, 2, 3, 4, 5}; double[] dArray = {1.0, 2.0, 3.0, 4.0, 5.0}; String[] sArray = {"A", "B", "C", "D", "E"}; printIntArray(iArray); printDoubleArray(dArray); printSt..

article thumbnail
[객체지향의 사실과 오해] 5장. 책임과 메시지
Review/Book 2023. 10. 7. 00:30

객체가 어떤 행동을 하는 유일한 이유는 다른 객체로부터 요청을 수신했기 때문이다. 요청을 처리하기 위해 객체가 수행하는 행동을 책임이라고 한다. 따라서 자율적인 객체란 스스로의 의지와 판단에 따라 각자 맡은 책임을 수행하는 객체를 의미한다. 자율적인 책임 책임이 자율적이어야 하는 이유 객체에게 할당되는 책임이 자율적이어야 한다. 책임이 자율적이지 않다면 객체가 아무리 발버둥친다고 하더라도 자율적으로 책임을 수행하기 어렵다. [예시] 첫 번째 협력 모자 장수는 왕에게 증언할 책임은 있지만 증언을 위한 구체적인 방법이나 절차에 대해서는 최대한의 자유를 누린다. 두 번째 협력 상세한 수준의 책임은 증언이라는 협력의 최종 목표는 만족시킬지 몰라도 모자 장수가 누려야 하는 선택의 자유를 훼손한다. 결과적으로 두 ..

profile on loading

Loading...