package org.example.통계학; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.MessageFormat; import java.util.*; /* * * * * * * * * N 개의 수 * N 은 홀수 * 1 System.out.println(number.getValue())); // 최빈값 HashMap numberCountMap = new HashMap(); for (Number number : numbers) { int count = numberCountMap.getOrDefault(number, 0); numberCountMap.put..
다형성이 지원되지 않는 언어의 문제점함수 이름의 다양화 필요add(int, int)와 같은 함수가 있을 때, 정수와 부동소수점 수를 더하는 경우에는 새로운 함수명 addIntDouble(int, double)을 만들어야 합니다.함수가 많아질 경우의 문제예를 들어, 자바에서는 정수와 부동소수점 수로 42개 이상의 함수를 만들어야 다양한 조합을 처리할 수 있습니다.다형성이 지원되는 언어의 장점오버로딩의 편리성하나의 함수명을 가지고 인자 목록만 변경하여 다양한 경우를 처리할 수 있습니다.제네릭의 활용하나의 함수로 여러 타입을 처리할 수 있습니다.코드의 간결성같은 기능을 하는 함수가 하나면 코드가 깔끔해집니다.오버라이딩의 중요성하위 클래스 메서드의 자동 호출상위 클래스의 메서드를 하위 클래스에서 재정의하면, 이..
객체 멤버의 접근 제어자에 대한 이해자바의 접근 제어자private클래스 내부에서만 접근가능default같은 패키지 내에서만 접근가능protected같은 패키지 또는 서브 클래스에서 접근가능public어디서든 접근 가능객체 멤버와 정적 멤버객체 멤버객체가 생성될 때마다 각 객체의 내부에 존재정적 멤버클래스 단위로 하나만 존재함.문제package org.example.연습장.encapsulation01; public class ClassA { private int pri; int def; protected int pro; public int pub; void runSomething() { } static void runStaticThing() { } }Class A 의객체멤버privatedefaultpro..
DTO (Data Transfer Object)개요데이터를 전달하기 위한 객체임계층 간의 데이터 교환을 위해서 사용됨.View 와 Controller 사이에서 자주 활용됨.특징Getter / Setter 메서드를 포함합니다데이터를 쉽게 넣고 , 빼기 위한 메서드를 제공비즈니스 로직을 미포함데이터 전송 에 집중합니다.별도의 비즈니스 로직을 포함하면 안됩니다.예제// 가변 객체 예시 public class MemberDto { private String name; private int age; // Getter, Setter 생략 } // 불변 객체 예시 public class MemberDto { private final String name; private final int age; // Getter, ..
다중 상속이란한 클래스가 2개 이상의 클래스로부터 상속을 받는 것을 의미한다.인어 클래스가 사람 과 물고기 모두로부터 상속을 받는 경우를 생각할 수 있따다중 상속의 문제점다이아몬드 문제 의 발생사람 클래스 물고기 클래스가 모두 수영 이라는 메서드를 가지고 있는 경우인어 클래스 사람클래스 혹은 물고기클래스 둘 중의 어느 수영메서드 를 상속받아야하는지 애매모호해진다.자바에서의 다중 상속자바는 다중 상속을 지원하지 않기로 했다.장점은 유용하지만… 문제점이 더 큰 영향을 준다.인터페이스의 도입다중 상속의 장점을 활용하기 위해 인터페이스라는 개념을 도입하였다.클래스는 여러 인터페이스를 구현할 수 있다는 장점인터페이스 자체는 구체적인 구현을 포함하지 않기에 다이아몬드 문제를 피할 수 있다는 장점 Uploaded b..
상속에서의 클래스 간의 관계 정의법정의is a kind of 관계를 나타낸다하위 클래스가 상위 클래스의 특정 유형 또는 분류임을 의미함예시고래는 동물의 한 분류이다고래 ⇒ 하위클래스동물 ⇒ 상위클래스인터페이스에서의 클래스 간의 관계 정의법정의is able to 관계를 나타낸다.클래스가 인터페이스에 정의된 특성 행동 또는 기능을 수행할 수 있음을 나타냄예시고래는 헤엄칠 수 있음고래 클래스가 헤엄치다 기능을 수행할 수 있음을 나타낸다.자바 API 예시인터페이스는 클래스가 수행 할 수 있는 특정 기능을 나타내며, be able to 형식으로 명명함Searializable직렬화할 수 있는Cloneable복제할 수 있는…상위 클래스와 인터페이스 특성상위 클래스하위 클래스에 특성(속성 + 메서드) 을 상속해준다인터..