본문 바로가기

프로그래밍/JAVA

(27)
캡슐화 class Point{ int xPos, yPos; public Point (int x, int y){ xPos=x; yPos=y; } public void showPointInfo(){ System.out.println("[" + xPos+", "+yPos+"]"); } } 위 클래스를 활용해 원을 의미하는 Circle 클래스를 정의하자. Circle 클래스는 좌표상의 위치 정보(원의 중심좌표 x, y)와 반지름의 길이 정보를 저장할 수 있어야 한다. 그리고 Circle 클래스를 기반으로 Ring 클래스를 정의하자. 링은 두 개의 원(바깥쪽 원, 안쪽 원)으로 표현해야 하며, Circle 인스턴스를 기반으로 정의가 가능하다. 참고로 안쪽 원과 바깥쪽 원의 중심좌표가 동일하다면 두..
생성자를 포함하는 클래스의 정의 난 정말 JAVA를 공부한 적이 없다구요(윤성우 저, 오렌지미디어)에서 발췌한 문제(202p 문제 7-1) 다음 조건을 만족하는 클래스를 정의해보자 1. 어린이가 소유하고 있는 구슬의 개수 정보를 담을 수 있다. 2. 놀이를 통한 구슬의 주고받음을 표현하는 메소드가 존재한다. 3. 어린이의 현재 보유자산(구슬의 수)을 출력하는 메서드가 존재한다. 2번 조건은 두 아이가 구슬치기를 하는 과정에서 구슬의 잃고 얻음을 의미하는 것이다. 위의 조건을 만족하는 클래스를 정의하였다면, 다음 조건을 만족하는 인스턴스를 각각 생성하자. 1. 어린이 1의 보유자산 : 구슬 15개 2. 어린이 2의 보유자산 : 구슬 9개 인스턴스의 생성이 완료되면 다음의 상황을 main 메서드 내에서 시뮬레이션 한다. 1차 게임에서 어린..
[JAVA} 쓰레드(Thread) 2편 JAVA의 정석(2nd Edition) (남궁 성 著) 참조해 내용을 작성했으며개인적인 공부 내용을 적은 것이므로 오류가 있을 수 있습니다. 1편 http://whatisthenext.tistory.com/77 5. 쓰레드의 우선순위 쓰레드의 우선순위는 메서드와 필드로 정해줄 수 있다. void setPriority(int newPriority) : 쓰레드의 우선순위를 지정한 값으로 변경하는 메서드int getPriority() : 쓰레드의 우선순위를 반환한다 public static final int MAX_PRIORITY = 10 // 최대 public static final int MIN_PRIORITY = 1 // 최소public static final int NORM_PRIORITY = 5 //..
[JAVA] 쓰레드(Thread) 1편 JAVA의 정석(2nd Edition) (남궁 성 著) 참조해 내용을 작성했으며개인적인 공부 내용을 적은 것이므로 오류가 있을 수 있습니다. 0. 개요 운영체제(O/S) : 컴퓨터의 하드웨어를 사용하게 해주는 프로그램프로세스(process) : 현재 실행되고 있는 프로그램쓰레드(thread) : 프로세스 안에서 여러 작업들을 수행하기 위한 작업 단위 (노동자라고 생각하자) 윈도우에서 롤을 하면서 멜론으로 노래를 들을 수 있다. 롤도 프로세스, 멜론도 역시 프로세스다.이를 멀티태스킹(multi-tasking, 다중작업)이라고 한다. 멀티태스킹과 마찬가지로 멀티쓰레딩 역시 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 한다.좀 더 미시적으로 들어간거라고 생각하면 되겠다. 위 내용을 숙지하고 본론에 들어..
[JAVA TIP] 글자크기 바꾸기, 음영처리 바꾸기 1. 글자크기 키우기 2. 음영처리 바꾸기
[JAVA] 제너릭(Generic) 제너릭(Generic) 파트는 오픈튜토리얼(helloworld)에서 강의한 내용을 바탕으로 작성했습니다.(http://tryhelloworld.co.kr/courses/%EC%9E%90%EB%B0%94-%EC%A4%91%EA%B8%89/lessons/generic)4.1 이후부터는 자바의 정석(남궁성 저) 책을 이용해 내용을 작성했습니다. 처음에 자바 기본문법 공부 없이 안드로이드를 공부할 때 꺽쇠 모양 이 나와서 당황했다.'이게 맞는 존재하는 문법인가? 안드로이드에만 있는 문법인가?' 싶었다. 알아보니까 꺽쇠 모양 는 '제너릭(Generic)'을 뜻하는 거였다. 사실 없어도 상관없지만, '타입 안정성'과 '코드 간결화'때문에 쓰인다. 좀 더 자세한 내용은 아래에서 살펴보도록 하자. box 클래스를 생성..
[JAVA] 배열(array) 1. 배열(array) 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 '배열(array)'이라고 한다. int[] score = new int[5]; 2. 배열의 선언 타입[] 변수이름; int[] score;String[] name; 3. 배열의 생성 배열의 선언 : 배열을 다루기 위한 '참조변수'를 담을 공간이 만들어 짐배열의 생성 : 데이터를 저장할 수 있는 공간이 만들어짐 ⓘ int [ ] score; ② score = new int [ 5 ] ; [ new 연산자 ] 에 의해 메모리의 빈 공간에 5개의 int형 데이터를 저장할 수 있는 공간이 생성된다.[ = 연산자 ] 에 의해 배열의 주소(0x100)가 int형 배열 참조변수 score에 저장된다. 4. 배열의 초기화 원하는 값으로 초기..
[jAVA] 랜덤(Random) 클래스 [ 메서드 ] Random ( ) : System.현재시간을 종자값(sedd)으로 이용하는 Random 인스턴스 생성Random (long seed) : 매개변수seed를 종자값으로 이용하는 Random인스턴스 생성boolean nextBoolean( ) : boolean 타입의 난수를 반환void nextBytes(byte[] bytes) : bytes 배열에 byte 타입의 난수를 채워서 반환double nextDouble() : double 타입의 난수를 반환 (0.0