Computer Science

    [Java] 객체지향개념(요약)

    클래스의 정의 클래스란 객체를 정의해 놓은 것 클래스의 용도 클래스는 객체를 생성하는데 사용 객체의 정의 실제로 존재하는 것. 사물 또는 개념 객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다름 설계도 - 찍어 만든 물건 실제 세계를 어떻게 컴퓨터로 옮길 수 있을까? 라는 기본 전제 클래스가 왜 필요한가? - 객체를 생성하기 위해 객체가 왜 필요한가? - 객체를 사용하기 위해 객체를 사용한다는 것은? - 객체가 가진 속성(변수)과 기능(함수)을 사용하려고

    [CSAPP] 9.9 Dynamic Memory Allocation(동적 메모리 할당)

    9.9 Dynamic Memory Allocation(동적 메모리 할당) 로우 레벨의 mmap과 munmap 함수를 사용하여 가상 메모리의 영역을 만들고 삭제하는 것이 가능하지만, 동작 중(런타임에) 가상 메모리를 얻고싶을 때는 동적 메모리 할당자(ex. malloc 함수)를 쓰는 것이 더 편리하고 portable(이식성이 좋다)하다. 동적 메모리 할당자(allocator)는 heap으로 알려진 프로세스의 가상 메모리 영역을 유지한다. (아래 그림 참고) 상세 내용은 시스템마다 다르지만 일반성의 손실 없이 힙은 uninitialized data area(초기화되지 않은 데이터 영역)의 끝 부터 시작하여 위쪽(높은 주소)로 증가하는 demand zero 메모리 영역이라 가정한다. 각 프로세스에서 커널은 힙..

    테스트

    오늘은 오늘은 제일 재미없는 시간이에요. 그러니까 자료 구조를 하기 위해서 자료 구조를 다루기 위해서 이런 이런 개념들이 있습니다라는 얘기를 할 건데요. 어떤 저 같은 사람은 이런 게 별로 재미없어 해요. 그러니까 막 바로 저 같은 사람이 아니라 일반 뭐가 일반인지 프로그램 여러분들 지금 수준에서는 코딩 코드를 보고 설명하고 이게 이렇게 동작해요가 더 나올 것 같고요 그러지 않고 얘는 글만 딱 있어요. 그래서 좀 지겨운 건데 여기서 한 번에 이해 못하셔도 돼요. 다음에 이제 코드 각각의 데이터 코드를 보면서 충분히 여기 나오는 얘기가 뭔지 다 이해하실 겁니다. 그런데 그렇다고 해서 지금 얘기 안 하면 또 그때 제가 쓰는 용어를 모르실 거라서 지금 그냥 얘기하는 거예요. 근데 잘 못 알아들어도 괜찮다 고 ..

    [백준] 1744번: 수 묶기_JAVA

    문제 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다. 예를 들면, 어떤 수열이 {0, 1, 2, 4, 3, 5}일 때, 그냥 이 수열의 합을 구하면 0+1+2+4+3+5 = 15이다. 하지만, 2와 3을 묶고, 4와 5를 묶게 되면, 0+1+(2*3)+(4*5) = 27이 되어 최대가 된다. 수열의 모든 수는 단 한번만 묶거나, 아니면 묶지 않아야한다. 수열이 주어졌을 때, 수열..

    [백준] 1946번: 신입사원_JAVA

    문제 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. 이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선발할 수 있는 신입사원의 최대 인원수를 구하는 프로그램을 작성하시오. 입력 언제나 ..