본문 바로가기
학교/2-2학기(Java)

[9주차] 10/28(월) 강의내용

by C0MPAS 2024. 10. 28.

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

댓글