전체 글 (197) 썸네일형 리스트형 [객체지향의 사실과 오해] ch1. 협력하는 객체들의 공동체/ 협력-역할-책임 목차 1. 서론 2. 기존의 객체지향 묘사 3. 객체의 3요소 : 협력, 역할, 책임 4. 협력 속에 사는 객체 5. 객체지향의 본질(핵심) 1. 서론 객체지향이란 무엇인가? => 이 질문에 대한 자신만의 견해를 가지는 것이 중요하다 => 그러나, 많은 개발자는 객체지향을 여전히 클래스나 상속을 중심으로 바라본다. 다음 책에서는 총 3가지 관점의 변화를 유도한다. 첫째, 클래스 중심 => 객체 중심 관점 둘째, 객체를 독립적 존재 => 협력적 존재로 바라보는 것 셋째, 객체에게 얼마나 적절한 역할과 책임을 부여하는가 => 궁극적으로 이 3가지 관점으로 프로그래밍 언어라는 틀에 어떻게 담아내는지가 중요하다 2. 기존의 객체지향 묘사 - 객체지향은 현실세계 사물의 추상화로 묘사되는 경우가 많다. - 그러나,.. [자바의 정석] ch11-1 : 컬렉션프레임워크 -- List / Stack-Queue 1. 컬렉션 프레임워크 더보기 : 데이터 군을 저장하는 클래스들을 표준화한 설계 >>컬렉션 프레임웤의 3가지 인터페이스 => Collection : List와 Set의 공통된 부분을 뽑아 정의한 인터페이스 >> Collection 인터페이스의 메서드 >>List 인터페이스 : 순서 존재 + 중복허용 -- 메서드 >>Set인터페이스 : 순서x + 중복 x >>Map 인터페이스 -- 키와 값을 하나의 쌍으로 묶어서 저장 - 키는 중복이 불가/ 값은 중복이 가능 - 순서가 존재x ㅡMap.Entry 인터페이스 : Map 인터페이스의 내부 인터페이스 : key-value 쌍을 다루기 위한 인터페이스 메서드 설명 boolean equals(Object o) 동일한 Entry인지 확인 Object getKey() .. [자바의 정석] ch9-1. java.lang 패키지와 유용한 클래스 1. Object 클래스 더보기 - object 클래스는 모든 클래스의 최고조상 == object 클래스의 멤버들은 모든 클래스에서 바로 사용 가능 Object 클래스의 메서드 설명 protected Object clone() 객체 자신의 복사본을 반환 public boolean equals(Object obj) 객체 자신과 객체obj가 같은 객체인지 알려줌 (참조변수의 주소값을 비교) protected void finalize() 객체가 소멸될 때 가비지 컬렉터에 의해 자동 호출 public Class getClass() 객체 자신의 클래스 정보를 담고 있는 Class 인스턴스를 호출 public int hashCode() 객체 자신의 해시코드를 반환 public String toString() 객체 .. [자바의 정석] ch8. 예외처리 >>프로그램 오류 : 에러는 어쩔 수 없지만 예외는 처리해야 함 에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 >>예외 클래스의 계층구조 - Object를 가장 상위계층으로 - Throwable => Exception + Error - RunException 클래스 -> 프로그래머의 실수로 발생하는 예외(예외처리 선택) - Exception 클래스 들 => 사용자의 실수와 같은 외적인 요인에 의해 발생(예외처리 필수) >>예외 처리하기 : 프로그램 실행시 발생가능한 예외에 대비한 코드를 작성하는 것 => 프로그램 비정상 종료를 막음 try-catch문 - 1. 하나의 메서드에 여러개의 try-catch문 사용 가능 - 2. .. [Python] 2169. 로봇조종하기(골2) / DP + 방향에 따른 배열 할당 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/2169 2169번: 로봇 조종하기 첫째 줄에 N, M(1≤N, M≤1,000)이 주어진다. 다음 N개의 줄에는 M개의 수로 배열이 주어진다. 배열의 각 수는 절댓값이 100을 넘지 않는 정수이다. 이 값은 그 지역의 가치를 나타낸다. www.acmicpc.net 2. 핵심 아이디어 특정 칸에 다다르는 경로는 3가지 케이스이다. - 위에서 오기 - 왼쪽에서 오기 - 오른쪽에서 오기 예제 데이터를 기반으로 보자면 24가 적힌 칸에 다다를 수 있는 케이스는 이렇게 요약 가능하다. - 위에서 오기 (25가 적힌 칸으로부터) - 왼쪽에서 오기 (68이 적힌 칸으로부터) - 오른쪽에서 .. [자바의 정석] ch7. 객체지향 프로그래밍 II 1. 상속 1-1. 상속의 정의와 장점 상속 : 기존 클래스를 재사용하여 새로운 클래스를 작성 => 재사용성 : 적은 양의 코드로 새로운 클래스 작성 => 공통규율 : 코드를 공통적으로 관리 사용방법 class Child extends Parent{ // } >>상속 유의사항 - 멤버만 상속된다. - 생성자와 초기화블록은 상속되지 않는다. - 자손 클래스의 멤버 개수는 조상클래스보다 항상 같거나 많다. - 클래스간의 관계에서 형제관계는 없다. 오직 부모-자식의 관계만 존재한다. - 자손 클래스의 객체 => 조상 클래스 멤버 + 자손 클래스 멤버 ex) public class TV{ String color; boolean power; int channel; void power(){power=!power;}.. [Python] 10942.팰린드롬?(골4) / DP 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 2. 핵심 아이디어 이 문제가 DP 유형에 있다는 것에 많은 고심을 했다. 결국 아이디어를 떠올리지 못했고, 다른 블로그의 아이디어를 참고해 문제를 풀었다. 그러나, 아이디어를 본 순간 DP의 본질적인 부분 즉, 작은 문제의 해결법이나 관계가 큰 문제의 해결법으로 이어진다는 원리가 잘 녹아든 문제라는 생각이 들었다. 기존에 우리가 팰린 드롬을 확인할 때 어떻게 판단.. [Python] 1738. 골목길(골1) / 벨만-포드 알고리즘 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/1738 1738번: 골목길 첫째 줄에 골목길들이 교차하는 지점의 개수 n (2 ≤ n ≤ 100)과 골목길의 개수 m (1 ≤ m ≤ 20,000) 이 차례로 주어진다. 이어지는 m개의 행에 각각의 골목길을 나타내는 세 정수 u, v, w가 차례로 주어 www.acmicpc.net 2. 핵심 아이디어 최근 백준 단기간 성장 문제집을 풀고 있다. 그중 타임머신이란 문제를 풀게 되었는데 이 문제가 벨만-포드 알고리즘과 연관이 있었다. 다익스트라나 플로이드는 익숙해도 가중치가 음수인 그래프를 다루는 벨만-포드는 익숙치 않아 이런 저런 문제를 찾아 풀고 있다 본 풀이는 벨만-포드 알.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 25 다음