나의 코드 package boj; import java.util.Scanner; public class BOJ_1978 { private static int sosu; public static void main(String[] args) { // TODO Auto-generated method stub //소수의 특징 : 2 3 5 7 11 // 1부터 소수까지 숫자들중에서 1과 자기자신을 제외하고는 나누어 떨어지지않는다! Scanner sc = new Scanner(System.in); int cnt = sc.nextInt(); int ans = 0; int arr[] = new int[cnt]; for(int i=0;i

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 집합)를 문자..
생성자 주입 : 생성자를 통해서 의존 관계를 주입 받는 방법. 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 불변, 필수 의존관계에 사용 수정자 주입(setter 주입) : setter라 불리는 필드의 값을 변경하는 수정자 메서드를 통해서 의존관계를 주입하는 방법 선택, 변경 가능성이 있는 의존관계에 사용 자바빈 프로퍼티 규약(set~, get~함수등을 통해서 값을 읽고 수정함)의 수정자 메서드 방식을 사용하는 방법 필드 주입 : 필드에 바로 주입하는 방법이다. 특징 코드가 간결해서 많은 개발자들을 유혹하지만 외부에서 변경이 불가능해서 테스트 하기 힘들다는 치명 적인 단점 DI 프레임워크가 없으면 아무것도 할 수 없다. 사용하지 말자! 애플리케이션의 실제 코드와 관계 없는 테스트 코드 스프링 설정..
동적바인딩 예시 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("고양이가 야옹 소리를 낸다."); ..