분류 전체보기100 클래스와 모듈2 지난 글에 이어서 클래스와 모듈에 대한 이야기를 이어가 보자. 우선 믹스인(Mixin)에 대해 좀 더 자세히 살펴 보자. 믹스인은 다중 상속의 문제점을 없애면서도 다수의 모듈로부터 기능을 동시에 물려 받을 수 있도록 해준다. 특정 클래스에서 다수의 모듈을 동시에 믹스인하더라도 ancestors 메서드를 이용하여 상속 계층을 확인해 보면 바로 상위 부모는 하나가 되는데 이것이 다중 상속의 문제점을 없애는 해결책인 것이다. 즉 다수의 모듈을 동시에 믹스인하더라도 실제 믹스인되는 순서에 따라 상속 계층에서 해당 모듈의 순서가 정해진다. 아래 그림처럼 include를 한 번만 사용하여 M1, M2 모듈을 믹스인하면 include 에 전달한 순서 그대로 상속 계층 순서에 반영되지만 M1, M2 모듈을 따로따로 i.. 2024. 8. 13. 클래스와 모듈1 이전에 작성했던 '객체와 클래스' 시리즈 글의 마지막 부분에 다음 글에서는 모듈에 대해 알아보기로 했는데 이제서야 글을 쓰게 됐다.시간이 좀 지났으므로 리마인드 차원에서 '객체와 클래스' 에 대해 간단히 요약 정리를 해보자.우선 '객체와 클래스' 시리즈의 첫 번째 글에서 '객체와 클래스' 에 대한 설명을 그대로 옮겨와 봤다. "컴퓨터 프로그래밍에서 말하는 '객체' 는 속성(데이터)과 메서드를 포함하는 일종의 데이터 구조인데 '클래스'라는 것을 이용해 원하는 객체를 표현하고 그 '클래스'의 인스턴스(instance : 사례, 경우) 생성을 통해 실제 프로그램에서 사용할 수 있는 '객체'를 만들게 된다." 그리고 클래스는 상속이라는 기능을 통해 부모 클래스로부터 속성과 메서드를 물려 받아 기능을 쉽게 확장할.. 2024. 8. 6. 도서 관리 프로그램 만들기2 오늘은 지난번에 만들었던 도서 관리 프로그램에서 데이터를 메모리가 아닌 파일에 저장하도록 프로그램을 수정해 보자.아래처럼 BookDb 클래스의 코드만 수정하면 된다. 먼저 데이터를 저장할 파일 정보가 필요한데 initialize 메서드에서 인자로 받도록 했다. 그리고 해당 파일에는 이미 도서 데이터가 저장되어 있을 수 있으므로 파일에서 해당 데이터를 읽어와 메모리에 저장해야 한다. 그래야 search_book 메서드와 같은 기존 코드를 수정없이 그대로 이용하여 파일에 저장되어 있던 데이터에서 도서 검색이 가능하다. 지금처럼 학습이 주 목적인 프로그램에서는 괜찮겠지만 실전에서는 데이터 파일의 크기 등 여러 가지를 고려해야 할 수도 있다. 처음 실행할 경우 데이터 파일이 아직 생성되기 전이라 데이터를 읽기 .. 2024. 8. 5. 도서 관리 프로그램 만들기1 오늘부터는 지난 번 '스피드 연산 게임 만들기' 시리즈를 통해 만들었던 메뉴 처리 기능을 이용하여 '도서 관리' 프로그램을 만들어 보려고 한다. 도서 관리 프로그램의 메뉴는 다음과 같다. [ 도서 관리 메뉴 ]1. 도서 조회2. 도서 등록3. 종료 우선 도서 객체를 표현할 Book 클래스와 여러 권의 도서 데이터를 보관하고 관리하는 역할을 맡을 BookDb 클래스를 만들어 보자. 도서 관련 정보에는 제목, 저자, 출판사, 출판 연도, 장르, 페이지 수, 가격 등 여러 가지가 있는데 간단히 하기 위해 이번 프로그램에서는 제목, 저자, 출판 연도 만 고려하자.아래 Book 클래스의 코드가 있다. no 는 동일한 책이 여러 권 있을 수 있으므로 구분하기 위한 고유 번호이다. class Book attr_re.. 2024. 8. 2. 이전 1 ··· 16 17 18 19 20 21 22 ··· 25 다음