들어가기 전에
자바의 도구들은 어떻게 구성되어 있을까요?
도구들이 많아도 여기저기 어질러져 있으면 사용하기 어려울 것입니다.
자바의 도구들도 일정한 기준에 맞추어 정리정돈 되어 있습니다.
정리정돈을 하기 위한 분류 체계에 대해서 알아봅니다.
학습 목표
패키지, 클래스, 변수, 메소드의 구조에 대해서 알아봅니다.
핵심 단어
- 패키지(Package)
- 클래스(Class)
- 변수(Variable)
- 메소드(Method)
강의 듣기
들어가기 전에
자바의 도구들은 어떻게 구성되어 있을까요?
도구들이 많아도 여기저기 어질러져 있으면 사용하기 어려울 것입니다.
자바의 도구들도 일정한 기준에 맞추어 정리정돈 되어 있습니다.
정리정돈을 하기 위한 분류 체계에 대해서 알아봅니다.
학습 목표
패키지, 클래스, 변수, 메소드의 구조에 대해서 알아봅니다.
핵심 단어
강의 듣기
Java API Documentation 보는 방법
자바 프로그램을 만들기 위해서는 자바의 도구들을 사용할 수 있게 만든 장치인 자바 API를 이용합니다.
오라클에서는 자바 API의 설명서인 Java API documentation을 제공하고 있습니다.
이번 시간에는 자바 API documentation을 보는 법에 대해서 알아봅니다.
포털 검색을 통해 자바 API Documentation 페이지를 열어 봅니다.
왼쪽의 위쪽 섹션에는 패키지들에 대한 정보를 담고 있고, 왼쪽의 아래 섹션에는 클래스에 대한 정보를 담고 있습니다.
왼쪽의 아래 섹션에서 우리가 전에 사용해 보았던 Math 클래스를 클릭해서 정보를 확인해 봅니다.
Math 클래스의 설명서를 보면 위와 같은 형식으로 구성되어 있습니다.
Math 클래스는 java.lang 패키지에 속해 있다는 것을 알 수 있습니다.
java.lang 패키지에는 Math 외에 String과 같은 다른 객체들도 존재합니다.
더 스크롤해서 보면 PI와 같은 변수(Variable/Field)들에 대해서도 나와 있고,
전에 사용했던 floor, ceil 등 메소드(Method)들의 정보들도 나와 있습니다.
클래스, 변수, 메소드, 패키지
Math 클래스와 같이 클래스 안에는 PI와 같은 변수, floor, ceil과 같은 메소드들이 포함되어 있습니다.
패키지는 이러한 클래스(들)을 하나의 묶음으로 정리한 것입니다.
생각해보기
1) 패키지, 클래스, 변수, 메소드에 대해서 댓글로 토론해 보세요
참고자료
https://docs.oracle.com
https://docs.oracle.com
https://docs.oracle.com
comment
1) 패키지, 클래스, 변수, 메소드에 대해서 댓글로 토론해 보세요
1.패키지 : 클래스들을 정리정돈하기 위해 묶는 카테고리
2. 클래스 : 기능(메소드)이나 변수, 포인터들을 정의하는 문서
3. 변수 : 데이터들을 처리하기 위해 저장하는 공간
4. 메소드 : 기능과 관련된 구현
(1) 패키지 : 클래스들을 모아둔 것 패키지를 통해 라이브러리와 구별이 가능하다.
패키지를 사용하는 것은 클래스명을 보장하기 위함이다
서로 다른 용도의 라이브러리를 사용할 때 이름이 충돌하는 클래스가 있을 수 있는데 이럴 때 패키지 기능을 이용하여 클래스 이름이 충돌하는 것을 방지한다.
(2) 클래스 : 붕어빵 틀이다. 객체를 정의할 수 있는 틀 또는 설계도이다.
클래스는 객체의 변수들과(variables)와 객체 생성을 나타내는 메소드들(methods)로 나타낸다.
(3) 변수 : 데이터를 저장하기 위한 메모리 공간
(4) 메소드 : 특정 작업을 수행하는 일련의 과정을 묶은 것, 즉 클래스에 필요한 기능을 함수로 묶은 것
이 때, 클래스는 객체의 변수들로 이루어져있다고 되어있는데 이는 필드라고도 한다.
클래스에 포함되어 있는 변수가 필드인 것이다.
메소드 (Method), 변수(Variable) < 클래스(Class) < 패키지(Package)
패키지 > 클래스 > 변수, 메소드
1. 클래스 = 변수나 메소드 합친거
2. 패키지 = 클래스를 합친거
1) 패키지: 클래스들의 묶음
2) 클래스: 같은 속성을 가진 필드/변수, 메소드의 집합
(1) 클래스 : 변수 및 매서드를 포함한 하나의 파일 -- ex) math
(2) 패키지 : 클래스들의 묶음 (비슷한 성격의 클래스를 모아둠) -- 예) java.lang > math
1) 패키지 : 연관된 클래스들은 모아놓은 것
2) 클래스 : 객체를 만들기 위한 청사진, 또는 설계도
패키지>클래스> 변수&메소드
- 변수&메소드 : 실제 기능을 하는 변수 및 함수
- 클래스 : 서로 연관된 변수&메소드들의 묶음
- 패키지 : 클래스들의 묶음
패키지 - 클래스들의 묶음 (대분류)
클래스 - 관련된 메소드들의 묶음 (중분류)
메소드 - 클래스에 속한 어떤 기능을 갖는 함수.
패키지안에 클래스가 있는데, 클래스는 변수와 메소드를 가지고 있다. 기술문서에서 필드는 변수이고, 메소드는 함수인 것 같다.
패키지 : 서로 연관된 비슷한 성격의 클래스를 모아 이름을 붙인 것
클래스 : 서로 연관된 변수, 메서드를 모아 이름을 붙인 것
패키지 > 클래스 > 변수= 메소드
페키지 안에 클래스파일이 있고 클래스 파일안에 변수 매소드가 있다.
그림을 그릴 수 있게 다른 사람이 만든 자바 파일이 담겨진 패키지를 예로 들어서 생각해본다면
artist.tools 라는 package에 basket, brush, ... 등등의 class들이 있다고 생각해볼 수 있다.
java에서 이것들을 가져와서 쓴다고 상상해본다면
import artist.tools.basket
import artist.tools.brush
로 작성해볼 수 있다. (물론 해당 .java 파일들이 담겨있는 위의 package 디렉토리들이 적절한 경로에 있어야 함)
basket과 brush에는 'color'라는 변수를 가지고 있는데 이것은 사용하려는 색깔을 문자열로 지정할 수 있으며('blue'처럼), 'opacity'라는 변수는 색의 투명도를 double 타입의 실수로 설정할 수 있다.
basket은 'fill'이라는 method를 가지고 있는데 basket.fill() 과 같이 코드를 작성하여 원하는 영역에 색을 채워 넣을 수 있다.
brush는 'draw'라는 method를 가지고 있으며 brush.draw(position) 형식으로 코드를 작성해서 원하는 위치에 선을 그을 수 있다.