본문 바로가기

전체 글

(24)
명품 java programming open challenging : 상속 관계의 클래스 작성(ProductInfo) 다음 그림과 같은 클래스 구조를 가진 자바 프로그램을 작성하겠다. 각 클래스에는 반드시 들어가야하는 필드들이 있고, main()에서는 최대 10개의 상품을 추가할 수 있으며 모든 상품의 정보를 조회할 수 있다. 모든 제품에 대한 정보를 출력할 때 Product 타입의 레퍼런스를 이용한다. Product class : 각 상품의 고유한 식별자, 상품 설명, 생산자, 가격정보Book class : ISBN 번호, 저자, 책 제목 정보CompactDisc : 앨범 제목, 가수 이름ConversationBook : 언어명 정보 *객체 지향 개념에 부합하도록 적절한 접근 지정자, 필드, 메소드, 생성자 등을 작성한다. 12345678910111213141516171819202122232425262728293031..
명품 java programming 실습문제: 계산프로그램, 공연 예약 시스템 실습문제5. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 수행하는 각 클래스 Add, Sub, Mul, Div와 main() 메소드를 담은 클래스를 만들어, 계산을 수행하는 프로그램을 짜보자. main() 메소드에서는 키보드로부터 두 정수와 계산하고자 하는 연산자를 입력받아, 객체생성을 통해 연산을 수행하여 결과를 출력한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510..
명품 java programming open challenging : 끝말잇기 게임 만들기 n명이 참가하는 끝말잇기 게임 프로그램을 만들겠다. 1) 프로그램에서 설정한 처음 단어는 '아버지' 이다. 2) 참가자들은 순서대로 자신의 단어를 입력한다. 3) 끝말잇기에서 끝말이 틀린 경우 게임을 끝내고 게임에서 진 참가자를 화면에 출력한다. 4) main을 품은 WordGameApp 클래스와 Player 클래스로 구현한다. Player 클래스는 게임 참가자의 이름 필드와 사용자로부터 단어를 입력받는 메소드, 끝말잇기에 성공하였는지, 게임을 계속하는지를 판별하는 메소드를 담는다. 5) main 메소드에서 Player [] 배열을 생성한다. 6) 쉬운 코드를 지향한다. 123456789101112131415161718192021222324252627282930313233343536373839404142..
컴퓨터 네트워킹 : network core 본 포스팅은 computer networking : A top-down approach ( 컴퓨터 네트워킹 : 하향식 접근 ) 제 7판을 공부하여 정리합니다.이전, 컴퓨터 네트워킹 : network edge, access network, 물리 매체들 포스팅에서 네트워크의 구조를 비트로 구성된 데이터패킷이 네트워크 내에서 흘러가는 순서대로 설명하겠다고 언급했다. 그에 따라 network edge, access network, physical media를 각각 설명하며 그 환경이나 종류도 함께 언급하여 작성해 놓았다. 그렇다면 이제 network core에 대해 자세히 알아보자. network core : mesh of interconnected routers머릿말에서 나타내듯, 네트워크 코어는 서로서로 연..
컴퓨터 네트워킹 : network edge, access network, 물리 매체들 본 포스팅은 computer networking : A top-down approach ( 컴퓨터 네트워킹 : 하향식 접근 ) 제 7판을 공부하여 정리합니다.network core과 network edge를 포함한 네트워크의 구조를 다루기 전에, 네트워킹을 설명하기 위한 수단으로 '인터넷'에 대한 설명을 먼저 하겠다. Internet 인터넷인터넷이란, application에 service를 제공하는 infrastructure이다.인터넷에는 스마트폰과 PC부터 자동차와 같은 '사물들'까지 많은 장치들이 연결되어 있으며 이 장치들은 host나 end system이라고 불린다.하나의 end system과 다른 하나의 end system은 데이터를 교환하는 데, 이 data 교환의 개략적인 부분을 그림을 보며 ..
함수 호출 시 인자 전달 방식 : call by value와 call by reference 함수 호출 시 인자 전달 방법에는 Call-by-value(값에 의한 호출)와 Call-by-reference(참조에 의한 호출)이 있다. 본 포스팅에서는 먼저 이 둘을 비교하며 설명한 후, 현재 공부하고 있는 java의 인자 전달 방식에 대해서도 설명할 것이다 Call-By-Value (값에 의한 호출)일단 간단히 말해보자면, 이 전달 방식은 caller(호출하는 놈)의 인자의 값이 복사되어 함수(callee, 호출되는 놈)의 인자로 전달되는 방식이다. 코드가 진행되는 순서대로 설명하겠다. 위는 call by value방식의 함수(swap)가 구현된 프로그램이 메모리에 할당되고, 흘러가는 방식을 도식화하여 나타낸 그림이다. 먼저 프로그램이 실행되면, 초기화한 변수에 대한 메모리 할당이 발생할 것이다. ..
명품 java programming 실습문제 : 반복문과 배열 그리고 예외처리 실습문제 7. 4x4의 2차원 배열을 만들고, 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수 16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.Random; public class Makingarray{ public static void main(String[] args) { int [][] intArray = new int[4][4]; //배열 생성 for(int i=0; i
명품 java programming open challenging : 카드 번호 맞추기 게임 숨겨진 카드의 수를 맞추는 게임을 만들어 보겠다. 1) 0부터 99까지의 임의의 수를 가진 카드를 한 장 숨기고 이 카드의 수를 맞추는 게임이다. 2) 숨겨진 임의의 수는 random 클래스를 이용하여 정수로 생성된다. 3) 수를 맞추는 사람이 생성된 정수보다 작은 수를 입력한다면, 프로그램은 '더 낮게'를 출력하고, 그 반대라면 '더 높게'를 출력하며 범위를 좁혀가면서 수를 맞추게끔 한다. 4) 게임을 반복하기 위해 y/n을 묻고 n인 경우 종료된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 import ..