12월 20일 카카오 클라우드 Java

최재유·2022년 12월 20일
0
  • weak copy : 참조하는 형태의 데이터 안에 다시 참조하는 데이터가 있는 경우 복사본이 원본에 영향을 줄수 있음

  • deep copy : 재귀적으로 복사본을 만들어서 주는것으로 복사본이 원본에 영향을 줄수 없음

equals 만드는 코드 == 말고 equal.s 로 비교해야 할때

//	데이터의 내용이 같은지 확인하는 메서드
	@Override
	public boolean equals(Object other){
		boolean result = false;
		//원래 자료형으로 변환
		Data other1 = (Data)other;
		if(this.num == other1.getNum() 
				&& this.name.equals(other1.getName())) {
			return true;
			}
  • class 앞에 final이 붙어있으면 상속할수 없음 ( 기능확장 불가)

정렬 알고리즘

package kakako.wodb.java.util;

//크기 비교가 가능한 메서드가 있다는 것을 보장
public class VO implements Comparable<VO> {
	private int num;
	private String name;
	private int age;
	public VO() {
		super();
		// TODO Auto-generated constructor stub
	}
	public VO(int num, String name, int age) {
		super();
		this.num = num;
		this.name = name;
		this.age = age;
	}
	public int getNum() {
		return num;
	}
	public String getName() {
		return name;
	}
	public int getAge() {
		return age;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	@Override
	public String toString() {
		return "VO [num=" + num + ", name=" + name + ", age=" + age + "]";
	}
	//크기비교하는 메서드
	//양수를 리턴하면 순서가 변경이 되고 0이나 음수를 리턴하면 순서 변경
	@Override
	public int compareTo(VO o) {
		//숫자는 뺄셈을 해서 리턴하면 됩니다.
		//순서를 변경하면 내림차순이 됩니다.
			//return this.age - o.age;
		//문자열은 뺄셈이 안됨
		return this.name.compareTo(o.name);
		
	}
	
	
}

피보나치수열, 퀵소트 이해안되면 외워서라도 알기

0개의 댓글