본문 바로가기
Java/JAVA 문법

자바 기초 배우기 24일차 [ 모듈, 패키지, 클래스, API, java.lang, ObjectClass ]

by lchit 2020. 1. 5.

[ 모듈, 패키지, 클래스 ]

모듈?

자바(객체지향)에서는 '모듈'이라는 것이 있다

이 모듈이란 패키지들을 묶어 관리는 것이다.

자바에서는 기본적으로 제공하는 수많은

메서드가 있다 우리가 매일 쓰던 print(); 이도

메서드이며 그 메서드는 자바에서 기본 제공을

해주는 것이다

이렇게 미리 제공하는 함수가 없었다면

우리는 print(); 즉 괄호 안에 들어가는 문자열과

변수들을 우리 눈에 보이게 해주는 기능을

직접 구현하여야 하는데 쉽지 않다.

이러한 메서드를 모아놓은 것이 클래스!

그 클래스를 모아놓은 것이 패키지!

그 패키지를 묶어 관리하는 게 모듈이다

JRE System LIbrary

속에는 많은 모듈이 존재한다

이 모듈 안에는

수많은 패키지들이 들어있다

이 패키지 안에는 수많은 클래스가

들어있다.

이 클래스 안에는

많은 메서드(기능)들이 있다.

이제 주요 API를 하나하나 살펴볼 건데

API (Application Programing Interface)

API 설명 홈페이지

http://docs.oracle.com/javase

> API Documents클릭

먼저 java.lang 패키지를 보겠다

java.lang package in

[ ObjectClass ]

ObjectClass 특징

- 모든 클래스 생성 시 강제로 상속 extends

- 클래스마다 공통으로 사용되는 기능을 구현

ObjectClass 주요 메서드

1. 객체 속성 확인

1). getClass():

A라는 클래스를 만들고

A의 객체 a를 생성한 뒤

a.getClass() 출력 시

그 클래스 A를 반환하는 것을 확인!

2). hashCode()

3). equals()

A라는 클래스로 각각 a, aa, b라는

세 객체를 만들어주고

a=aa;로 a에 aa객체 대입시켜줌

★★★★★

4). toString()

여기서 주의해서 보자

출력문은 두 개다

sysout(a.toString);

sysout(a);

출력 결과는?? 같다!!

이걸 보면 알 수 있듯이

우리가 평소 객체를 출력할 때

즉, sysout(a); 에는

a뒤에. toString() 이 생략되어 있던 것이다

이. toString을 활용한 실습을 해보자

<. toString 실습>

과일에 대한

이름

원산지

가격

재고

를 입력받아 객체 배열로

저장하며 이를 출력하는 프로그램

일단 class FruitInfo { }라는

클래스를 만들었다

그리고 객체 변수로는

이름 name

원산지 origin

가격 price

재고 stock

으로 만들었다.

그리고 메인으로는

class FruitMain { }를 만들었다

혹시라도 객체 배열이

이해가 안 가시면

https://lchit.tistory.com/35

 

자바 기초 배우기 15일차 [ 객체배열 ]

객체 배열? 요소 하나하나가 객체인 배열 ​ 말로 설명이 조금 그래서 예제와 그림판으로 대처 ​ Ex1) ​ ​ 위 예 제을 예시로 그림판 이해 즉 풀어 설명하면 OAC라는 애는 5칸의 객체 배열이고 요소 값으로는..

lchit.tistory.com

 

보고 오시는 걸 추천드립니다!

본론으로 다시 와서

여기서 주의해서 볼 점은 밑에

초록 박스 부분에 반복문 for를 활용하여

객체 배열을 출력하는 부분이다

객체에 대한 정보가 문자열로 출력되는 이유는

위에서 봤듯이 뒤에. toString이 생략되어있기

때문이다.

그럼 toString() 메서드를 오버 라이딩하면??

다시 FruotInfo로 돌아와

toString에 대한 오버 라이딩 작업을 해주고

리턴 값 자체를 객체 배열의 값들을 보기 좋게

출력해주는 String 문자열로 설정해줬다.

이제 메인에서 fruits [i]를 출력한다면

뒤에 toString()이 자동으로 붙으면서

이 오버 라이딩된 메서드가 실행될 것이다.

자 대박이다

생략된. toString()을

오버 라이딩한 후 활용한 것이다

대박 편하다

이후 업로드에서도

당분간 API 주요 기능들에 대해

포스트 하겠다.

-끝-