5월, 2021의 게시물 표시
{{ label!='' ? 'Label : ' : (q!='' ? '검색 : ' : '전체 게시글') }} {{ label }} {{ q }} {{ ('('+(pubs|date:'yyyy-MM')+')') }}

[Java] 자바로 프로그래밍 입문하기: 3.1. 자료형 (4)

이미지
  그림 자료형   Picture 자료형을 사용해봤을 때, 우리는 여러 개의 그림을 생성할 수 있었습니다. Picture에 정의된, Picture 객체를 다루는 연산들을 사용할 수 있었기 때문이죠. 따라서 StdDraw로 생성된 객체들을 다룰 수도 있으면 좋겠죠? Draw 자료형은 다음 API를 구현합니다.   다른 자료형과 다르지 않게, new 키워드를 이용해 Draw 객체를 생성할 수 있습니다. 변수로 선언하고, 변수의 이름을 이용해 메소드를 호출할 수 있습니다. 다음 코드를 참고하세요. Draw d = new Draw (); d . circle (. 5 , . 5 , . 2 );   이 코드는 여러분의 화면 윈도우 가운데에 원을 그립니다. Picture와 같이, 각 그림은 각자의 윈도우에 그려지며, 따라서 수많은 그림들을 다룰 수 있죠. 참조형의 속성   참조형에 대한 다양한 예제들을 알아보았고, 클라이언트 프로그램으로 그것들을 이용해봤으며, 이제는 참조형의 필수적인 속성들에 대해 알아보려고 합니다. 대부분의 경우에서 자바는 초보 프로그래머들이 이러한 세부사항에 대해 알지 못하도록 보호합니다. 숙련자 프로그래머들은 이러한 속성들을 이해하는 것이 객체지향 프로그래밍을 효과적이고 효율적으로 다루는데 도움이 됨을 알고 있죠. 그래서 여러분들에게도 소개해드리려고 합니다.   참조라 함은, '무언가'와 '무언가의 이름' 사이의 차이를 말하는 것입니다.    한 객체가 여러 이름을 가질 수도 있습니다. 하지만 각 객체는 단 하나의 아이덴티티만을 지니고 있죠. 우리는 객체의 값을 변화시키지 않더라도, 객체의 새로운 이름을 무한하게 지어줄 수 있습니다.(대입문) 하지만 객체의 값이 변할 때,(인스턴스 메소드) 모든 객체의 이름들은 해당 객체가 바뀐 모습을 참조하게 되죠.   여러분이 집을 리모델링하고 싶다 해보죠. 여러 리모델링 업자들에게 여러분의 집 주소를 종이에 연필로 적어 건내주기로 했습니다. 수많은 리모델링 업자들 중에 한

[Java] 자바로 프로그래밍 입문하기: 3.1. 자료형 (3)

이미지
  문자열 처리(String processing)   여러분들은 첫 자바 프로그램에서 문자열을 사용했습니다. 자바의 String 자료형은 문자열에 대한 수많은 연산들을 포함하고 있습니다. 문자열 처리는 수많은 응용프로그램에서 사용되기 때문에 아주 중요합니다. 프로그램은 모두 문자열로 이루어졌죠. 사람들은 이메일, 블로그, 채팅 프로그램에서 문자열을 사용하며, 수많은 문서들 역시 문자열입니다.   String 값은 일련의 char 값들입니다. 우리가 자주 쓰게 될 String 자바 API를 요약해서 소개해볼까 합니다.  String 자료형의 API 일부   자바는 문자열을 특별히 취급합니다. 생성자 없이 초기화할 수 있고, 문자열 리터럴을 사용할 수 있으며, concat() 메소드를 호출하는 대신 + 연산자를 이용할 수도 있습니다.    String 값이 char 배열과 동일한 것은 아닙니다. 하지만 아주 유사하여 입문자들에게 혼란을 일으키기도 합니다.    split()은 아주 강력한 메소드입니다. 정규 표현식(regular expression)에서 구분자로 활용할 수 있기 때문입니다. 예를 들어, "\\s+"는 "하나 이상의 공백 문자"를 의미합니다. split()을 이용하여, 공백으로 구분된 각 단어들을 배열에 나눠 담을 수 있죠. 문자열 연산의 예   왜 우리가 char 배열을 사용하지 않고 String을 사용해야 할까요? 우리가 문자열을 처리할 때, 우리는 배열이 아닌 문자열 그 자체에 대해 연산을 하고 싶기 때문입니다. 이 의미를 잘 생각해보세요. 전형적인 문자열 처리 코드 문자열 처리 프로그램: genomics   여러분들이 문자열 처리를 경험할 수 있는 예제를 소개합니다. 유전학(genomics)의 짧은 개요를 설명드릴 것이며, 유전자 발견(gene finding)으로도 알려진 간단한 문제를 해결해볼 것입니다. 유전학은 문자열 처리 응용프로그램과 꽤나 밀접합니다.   생물학자들은 DNA 염기 서열을  A, C,

[Java] 자바로 프로그래밍 입문하기: 3.1. 자료형 (2)

이미지
색(Color)   색은 전자기파를 눈으로 느낄 때 볼 수 있는 것입니다. 우리는 컴퓨터에서 이미지를 생성하고 싶어 했습니다. 과거로부터 색은 컴퓨터 그래픽에서 범용적으로 사용된 추상화의 일종입니다. 자바 역시 Color 자료형을 지원합니다. 출판, 웹과 같은 전문 분야에서 색을 이용해 작업을 처리하는 것은 꽤 복잡한 일이죠. 컬러 사진의 형상은 이미지를 표현하는 매체에 따라서 크게 달라지기 때문입니다. 디자이너는 원하는 색깔을 시스템이 완벽하게 재현할 수 있을지에 대해 고민하지만, Color 자료형은 이러한 고민으로부터 디자이너를 완벽하게 분리해냅니다.   자바는 수많은 자료형을 라이브러리에 내장하고 있습니다. 우리 프로그램을 작성하면서, 수많은 라이브러리를 사용하게 될 것입니다. 이 때, 같은 이름을 사용하는 자료형이 있을 수도 있습니다. 우리는 이러한 충돌을 해결하기 위해, 명시적으로 어떤 라이브러리를 사용할지에 대한 목록을 작성합니다. 다음 구문은 Color를 사용하고 싶은 프로그램이라면 반드시 포함해야 할 구문입니다. 여태까지 우리는 표준 자바 라이브러리만을 사용하고 있었기 때문에, 이러한 작업이 필요 없었습니다. import java.awt.Color ;   색의 값을 표현하기 위해, Color는 RGB 체계를 사용합니다. 여기서 색은 0~255 사이의 3가지 정수로 정의되죠. 각각 적색, 녹색, 청색의 채도를 결정합니다. 다른 색의 값들은 전부 적색, 녹색, 청색을 조합하여 만들어냅니다. 따라서, Color의 값은 3개의 8-bit 정수로 구성됩니다. Color가 int, short, char 값 중 어느 것을 사용하는지 굳이 알 필요는 없습니다만, 어쨌거나 자바는 색을 표현하기 위해 24 비트를 사용하고 있습니다. 1700만 여가지의 색을 표현할 수 있죠. 과학자들은 인간이 천만 개의 색을 구분할 수 있다고 합니다.   Color는 생성자로 세 정수 인자를 받습니다. 따라서 여러분은 다음과 같이 쓸 수 있겠죠. Color red = new