[Java] Java가 제공하는 API(class library)📜

soyeon·2022년 7월 13일
0
post-thumbnail

Java에서는 상당히 많은 class가 제공된다.
관련있는 class끼리 묶어서 package화 되어 제공된다.

ex) java.lang.Object, java.net.*, java.awt.*, ...

API Reference에서 api들의 정보들을 확인할 수 있다.

Object class

: Java의 최상위 class

equals()

package lecture0713;

class Student {
	
	private String name;
	private int age;
	
	public Student() {
		
	}
	
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	
	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public boolean equals(Object obj) {
		Student tmp = (Student)obj;
		boolean result = false;
		
		if((this.name == tmp.name) && (this.age == tmp.age)) {
			result = true;
		}
		
		return result;
	}	
	
}

public class Main {
	
	public static void main(String[] args) {
		
		Student s1 = new Student("홍길동", 20);
		Student s2 = new Student("홍길동", 20);
		
		System.out.println(s1 == s2);  // false
		System.out.println(s1.equals(s2));
	}
	
}

실행 결과 : false
		   true

toString()

: 객체를 문자열로 변환할 때 사용한다.

package lecture0713;

class Student {
	
	private String name;
	private int age;
	
	public Student() {
		
	}
	
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	
	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public boolean equals(Object obj) {
		Student tmp = (Student)obj;
		boolean result = false;
		
		if((this.name == tmp.name) && (this.age == tmp.age)) {
			result = true;
		}
		
		return result;
	}

	@Override
	public String toString() {
		return this.name + " " + this.age;
	}
	
}

public class Main {
	
	public static void main(String[] args) {
		
		Student s1 = new Student("홍길동", 20);
		Student s2 = new Student("홍길동", 20);
		
		System.out.println(s1);
		
	}
	
}

실행 결과 : 홍길동 20

Collection

배열은 size가 고정되어 있고, 통일된 data type을 사용해야 한다.
이러한 특징 덕분에 속도가 빠르다.

Java에서는 "collection"을 주로 사용한다. (무조건 객체 형태로만 저장이 가능하다.)

  • List 계열 - ArrayList class (size가 동적으로 바뀌고, 서로 다른 data type을 사용할 수 있다.), LinkedList class, ...
  • Map 계열 - HashMap class
  • Set 계열 - HashSet class

ArrayList

import java.util.ArrayList;
import java.util.List;

public class Main {
	
	public static void main(String[] args) {
		
		List list = new ArrayList();
		list.add("Hello");
		list.add("홍길동");
		list.add(100);
		
		List<String> list1 = new ArrayList<String>();
		list1.add("홍길동");
		//list1.add(3);  // error
        
	}
}

Map

: key와 value의 쌍으로 데이터를 저장한다.

import java.util.HashMap;
import java.util.Map;

public class Main {
	
	public static void main(String[] args) {
		
		// Map
		Map<String, String> map = new HashMap<String, String>();
		map.put("1", "홍길동");
		map.put("2", "Hello");

	}
}

0개의 댓글