풀스택 과정 day15_Java

정유섭·2022년 3월 28일
0

2022.3.28.(월)

패키지와 라이브러리, Java의 저장 공간

Java API

Wrapper Class, Math Class, String Class


1. 패키지

- 패키지에 소속된 클래스 파일은 첫 번째 라인에서 자신이 소속된
  클래스 패키지 이름을 선언해야 한다.

- 이클립스가 왼쪽의 트리 영역에서 소스를 분류하는 작업을 통해 
  구문을 자동으로 추가해 주지만, 간혹 처리되지 않을 때도 있으므로
  package 구문에서 에러가 발생할 경우 소스가 어떤 패키지에 있는지 확인하여
  직접 이 구문을 수정해 주어야 한다. 


< 패키지의 구성과 첫 번째 라인의 패키지 기재 >


2. ClassPath

- 컴파일이 완료된 *.class 파일들이 위치하는 경로


< *.class 파일들이 위치하는 bin 폴더 >


3. 라이브러리

- 한 개 이상의 패키지들을 배포하기 용이하도록 압축한 형태

- 다른 프로그램에서 라이브러리 안에 포함된 기능을 활용할 수 있다.

- *.jar


< 프로젝트 마다 자동으로 생성되는 라이브러리 >


4. Java 기본 API들

- 우리가 사용하는 JDK 안에는 이미 수많은 라이브러리가 포함되어 있고,
  이 라이브러리 안에는 프로그램 개발에 필요한 패키지들이 기본적으로
  포함되어 있다.

- 자바 프로그래밍은 이러한 라이브러리들의 기능을 활용하여 이루어 진다.

- 이렇게 프로그램 개발을 위하여 기본적으로 제공되는 기능들을 API라 한다.

>> API와 Tools 모음 <<


5. Wrapper Class

- Java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만,
  클래스를 통해서 만들어진 객체를 통한 데이터 관리도 가능하다.

- 어떤 상황에서는 기본 데이터 타입의 변수를 객체 형태로 사용해야 하는 경우가
  있는데, 이 때 기본형 타입을 객체로 포장할 필요가 있다.

- 포장 클래스( Wrapper Class )는 특정 기본형 타입을 나타내는 용도로 사용된다.

5-1. Wrapper Class의 의미

- 초창기 Java 언어는 기본 자료형의 연산보다도 Wrapper 클래스를 사용한 연산이
  더 많이 이루어 졌으나, Java 언어가 발전함에 따라서 기본 자료형과
  Wrapper 클래스 간 연산의 차이가 없어졌다. 

- 최근의 Java 언어는 Wrapper 클래스와 기본 자료형을 구분하지 않고 사용하기
  때문에 객체로서의 특별한 의미가 없어졌다고 볼 수 있다.
  


< 기본 자료형의 Wrapper Class >

5-2. Wrapper Class의 객체 만들기

- 각각의 Wrapper 클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를
  파라미터로 전달받는다.

int num = 1;
Integer wrapper = new Integer( num );

5-3. Wrapper Class의 형변환

- 기본 자료형과 Wrapper 클래스 간에는 서로 암묵적인 형변환이 가능하다.

int num = 100;
Integer wrapper = num;
------------------------------------------------------------------------
Integer wrapper2 = new Integer( 200 );
int num2 = wrapper2;

5-4. Wrapper Class의 static 데이터

- 모든 Wrapper 클래스는 static 데이터 형태로 Wrapper 클래스에 대응되는
  자료형에 대한 최소값과 최대값을 가지고 있다.

int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;

5-5. 문자열 데이터의 형변환

- 1"1"의 차이

	-> 기본 자료형과 문자열 데이터 간의 연산에서는 기본 자료형
	   데이터가 문자열로 변환된 후, 문자열 간 연산으로 처리된다.

int a = 1;
String b = "1";
System.out.println( a + b );	// "11"이 출력됨
- 사용자 입력값에 대한 연산

	-> 모든 프로그램 플랫폼에서 사용자의 입력값은 String으로 처리된다.

	-> 만약, 인터넷 뱅킹에서 2개의 계좌로 송금할 금액을 각각 입력하였을 때,
	   총 금액을 계산한다면 다음과 같이 처리될 것이다.

String money1 = "5000";
String money2 = "3000";

String total = money1 + money2;	// "50003000"
- 문자열 데이터를 기본 데이터형으로 변환하기

	-> Wrapper 클래스에는 기본 자료형의 모양을 띄고 있는 문자열 데이터를
	   실제 기본 자료형으로 변환시키는 기능이 포함되어 있다.
	
	-> Java에서 Wrapper 클래스의 가장 큰 의미는 바로 이 부분이라고 할 수 있다.

String money1 = "5000";
String money2 = "3000";

int m1 = Integer.parseInt( money1 );
int m2 = Integer.parseInt( money2 );
	
System.out.println( m1 + m2 );	// 8000	


< 형변환을 위한 Wrapper Class >


< Wrapper 클래스를 이용한 형변환과 연산 >


6. Math Class

6-1. 수학적인 연산을 지원하는 클래스

- Math 클래스는 흔히 계산을 하는데에 도움이 되는 
  많은 수의 기본적인 수학 함수들을 제공한다.

- Math 클래스는 Java 표준 라이브러리의 java.lang 패키지에 정의되어 있다.

- Math 클래스의 모든 메서드들은 static 메서드로, 클래스의 객체를
  생성하지 않고 그 메서드가 정의된 클래스 이름을 통해서 호출될 수 있다.


< Math 클래스의 여러 메서드 >


< Math.random( ) 메서드 >


// 문제

- helper 패키지 안에, Util이라는 class생성
- 싱글톤으로 random(min, max) 메서드를 추가

- main( ) class 생성
- random(min, max) 이용해서 5자리 인증번호를 생성해서 출력


< Math.random( )과 싱글톤을 이용한 인증번호 생성 프로그램 >


7. String Class

- 문자열에서 정보를 추출하기 위한 String 클래스의 기본 기능 





< String Class의 여러 메소드 및 메소드의 활용 >

profile
도비는 자유에요!😝

0개의 댓글