본문 바로가기

분류 전체보기61

9장 Java.lang package & util classes public boolean equals(Object obj) 서로다른 두 객체는 항상 주소가 다르다. 인스턴스 변수(iv)의 값을 비교하도록 equals()를 오버라이딩해야함 public int hashCode() 1) 객체의 해시코드를 반환하는 메서드 2) Object 클래스의 hashCode()는 객체의 주소를 int로 변환해서 반환해야함 3) equals()를 오버라이딩하면 hasCode()도 오버라이딩해야한다 4) equals()의 결과가 true인 두 객체의 해시코드는 같아야 하기때문 System.identity.HashCode(Object obj) 는 객체마다 다른 해시코드반환, Object클래스의 hashCode()와 동 public String toString() 객체(=iv 집합)를 문자.. 2023. 7. 4.
7. 의존관계 자동 주입 생성자 주입 : 생성자를 통해서 의존 관계를 주입 받는 방법. 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 불변, 필수 의존관계에 사용 수정자 주입(setter 주입) : setter라 불리는 필드의 값을 변경하는 수정자 메서드를 통해서 의존관계를 주입하는 방법 선택, 변경 가능성이 있는 의존관계에 사용 자바빈 프로퍼티 규약(set~, get~함수등을 통해서 값을 읽고 수정함)의 수정자 메서드 방식을 사용하는 방법 필드 주입 : 필드에 바로 주입하는 방법이다. 특징 코드가 간결해서 많은 개발자들을 유혹하지만 외부에서 변경이 불가능해서 테스트 하기 힘들다는 치명 적인 단점 DI 프레임워크가 없으면 아무것도 할 수 없다. 사용하지 말자! 애플리케이션의 실제 코드와 관계 없는 테스트 코드 스프링 설정.. 2023. 7. 4.
5장 Array 동적바인딩 예시 Animal dog = new Dog(); Animal cat = new Cat(); dog.makeSound(); // "강아지가 멍멍 짖습니다." cat.makeSound(); // "고양이가 야옹 소리를 낸다."​ class Animal { public void makeSound() { System.out.println("동물이 소리를 낸다."); } } class Dog extends Animal { public void makeSound() { System.out.println("강아지가 멍멍 짖습니다."); } } class Cat extends Animal { public void makeSound() { System.out.println("고양이가 야옹 소리를 낸다."); .. 2023. 6. 28.
1037번 1과 N을 제외한 가장 작은 약수와 가장 큰 약수를 곱하면 N이 된다 int의 Wrapper Class인 Integer 클래스를 이용하면 정수의 최대값과 최소값을 출력가능 static int Integer.MAX_VALUE static int Integer.MIN_VALUE import java.util.Scanner; public class boj_1037 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); int max = Integer.MIN_VALUE; // max 변수는 초기값으로 가장 min한 정수값.. 2023. 6. 27.