6.3 패키지 만들기
- 패키지 선언
-이클립스로 쉽게 패키지 만들기
// p.338
package lib;
public abstract class Calculator {
public abstract int add(int a, int b);
public abstract int subtract(int a, int b);
public abstract double average(int[] a);
}
package app;
import lib.Calculator;
//import java.util.Scanner;
public class GoodCalc extends Calculator{
public int add(int a, int b) {
return a+b;
}
public int subtract(int a, int b) {
return a-b;
}
public double average(int[] a) {
double sum=0;
for(int i=0; i<a.length; i++) {
sum += a[i];
}
return sum/a.length;
}
// 추가
public String toString() {
return "나는 Calc 객체이다";
}
public static void main(String[] args) {
Calculator c = new GoodCalc();
System.out.println(c.add(2, 3));
System.out.println(c.subtract(2, 3));
System.out.println(c.average(new int [] {2,3,4}));
// 추가
System.out.println(c.toString());
}
}
6.4 모듈 개념
- 자바 플랫폼의 모듈화
-> 모듈들 중에서 꼭 필요한 기본 모듈이 java.base 모듈이며, java.base.jmod 파일에 들어있다.
- 자바 모듈화의 목적
-> 자바 컴포넌트들을 필요에 따라 조립하여 사용하기 위함
-> 세밀한 모듈화를 통해, 필요 없는 모듈이 로드되지 않게 하여, 불필요한 부담을 주린다
-> 소형 IoT장치에서도 자바 응용프로그램이 실행되고 성능을 유지하게 한다.
6.5 자바 JDK에서 제공하는 패키지
- 주요 패키지
1) java.lang
2) java.util
3) java.io
4) java.awt & javax.swing
6.6 Object 클래스
- Object 생성과 특징
-> Object는 모든 클래스에 강제로 상속된다
-> Object obj = new Object( );
메소드 | 설명 | |||||
boolean equals(Object obj) | obj가 가리키는 객체와 현재 객체를 비교하여 같으면 true 리턴 | |||||
Class getClass( ) | 현 객체의 런타임 클래스를 리턴 | |||||
int hashCode( ) | 현 객체에 대한 해시 코드 값 리턴 | |||||
String toString( ) | 현 객체에 대한 문자열 표현을 리턴 |
- 객체 속성
// 예제 6-2: Point 클래스에 toString() 작성
class Point{
private int x,y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return "Point(" + x + "," + y + ")";
}
}
public class ToStringEx {
public static void main(String[] args) {
Point p = new Point(2,3);
System.out.println(p.toString());
System.out.println(p);
System.out.println(p + "입니다.");
}
}
- 객체 비교와 equals( ) 메서드
1) == 연산자
Poing a = new Poing(2,3);
POint b = new Point(2,3);
Point c = a;
if(a == b) // false
System.out.println("a==b");
if(a == c) // True
System.out.println("a==c");
2) boolean equals(Object obj)
-> 클래스에 equals( ) 메소드를 오버라이딩 하는 것이 원칙이다
String a = new String("Hello");
String b = new String("Hello");
if(a==b) // false
System.out.println("a==b");
if(a.equals(b)) // true
System.out.println("a와 b는 둘 다 Hello입니다.");
출처: 명품 JAVA Programming(개정 5판), 생능출판사
'학교 > 2-2학기(Java)' 카테고리의 다른 글
[10주차] 11/4(월) 강의내용 (0) | 2024.11.04 |
---|---|
[9주차] 10/30(수) 강의내용 (1) | 2024.10.30 |
[8주차] 10/23(수) 강의내용 (0) | 2024.10.23 |
[8주차] 10/21(월) 강의내용 (0) | 2024.10.21 |
[7주차] 10/16(수) 강의내용 (1) | 2024.10.16 |
댓글