목록전체 글 (190)
Cohe

Operator : 매개 변수 0, 리턴0 (연산 결과) 연산하는 것 Function의 하위 인터페이스로 보통 매개변수값을 연산하고 그 결과를 리턴하는 경우 사용 인터페이스 추상 메서드 BinaryOperator T apply(T t1, T t2) UnaryOperator T apply(T t) xxxBinaryOperator xxx applyAsXXX(xxx,xxx) xxxUnaryOperator xxx applyAsXXX(xxx) predicate : 매개 변수 0, 리턴0 (boolean), 추상 메서드를 test라는 이름으로 가지고 있따.인터페이스 리턴(boolean) Predicate boolean test(T t) BiPredicate boolean test(T t, U u) xxxPredic..
람다식 고전적인 방식인 객체지향적인 프로그램 방식이 아닌 함수적 프로그래밍을 위한 기법에 사용 람다는 익명 함수를 위한 방식입니다. 람다는 객체지향적인 방식보다 간결하게 표현할 수 있다는 장점이 있다. 다만 처음에는 익숙하지 않아 혼란스러울 수 있다. 람다식은 함수적인터페이스를 자료형으로 사용 함수적 인터페이스란? 추상 메서드가 한개만 존재하는 인터페이스를 의미 람다식의 표현 : (타입 매개변수) - > { 실행문들} 매개변수가 없는 경우 : () - > {} 식 표현이 됨 매개변수가 한개인 경우 : 매개변수 → {} 람다식은 함수적 인터페이스를 사용하여 (추상 메서드 딱 하나만 있는 것 ) 인터페이스 변수 = 람다식; 같은 구조로 처리가 된다. @FunctionalInterface //해당 인터페이스가..
객체 정렬을 위한 객체 간 크기 비교 TreeSet, TreeMap은 엘리먼트들을 자동적으로 정렬하는 기능이 있습니다. List의 경우는 자동적으로 정렬되지 않지만, sort메서드를 메서드를 사용하여 정렬이 가능합니다. 그러나, 만일 이런 Collection에 기본 데이터 타입이 아닌 일반적인 객체가 들어갈 경우, 정렬을 위해서 객체간의 크기 비교가 선행되어야 한다. 객체간의 크기 비교를 구현하기 위해서 2가지 인터페이스(Comparable, Comparator)를 활용할 수 있습니다. Comparable 인터페이스 구현 Collection.sort(list) 사용하여 List를 정렬 TreeSet() 생성자를 사용했을 때 기본적으로 객체가 정렬되는 방식 구현 시 기존의 클래스를 수정해야 하며, comp..
JAVA API(Application Programming Interface) API는 라이브러리고도 부르며 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말함. 자바 표준 API를 확인 !! java.lang 패키지 java.lang 패키지는 자바 프로그램의 기본적인 클래스들을 담고 있는 패키지 이런 이유로, java.lang 패키지에 있는 클래스와 인터페이스는 import 구문 없이 사용이 가능함. java.lang 패키지 주요 클래스 Object : 자바 클래스의 최상위 클래스 System : 표준 입력장치(키보드)로부터 데이터를 입력받거나 표준 출력장치(모니터)로 출력하기 위한 클래스 Class : 클래스를 메모리에 로딩할 때 사용! String : 문자열을 저장하고, 문자열의 여러..

추상 클래스는 여러 속성과 기능을 넘겨주면서 기능을 확장해서 사용해야 하는 경우 유용, 인터페이스는 여러 속성을 넘겨줄 수 없기 때문이다. 동작이 비슷하나 다르다. 고객관리 프로그램 업데이트 실제 프로그램 같이 n과 p 명령어로 인덱스 이동이 아니라 이름으로 검색해서 조회, 수정, 삭제 기능을 동작시키도록 함 그냥 for문으로 돌리라고 해서 개. 당황 스러웜 Exception(예외) Error는 프로그램의 실행에 치명적인 영향을 미치는 상황을 나타냄 따라서 Error가 발생하면 프로그램은 종료된다. Exception는 적절한 처리를 통해 프로그램이 계속 실행할 수 있는 정도의 에러 처리만 하기만 하면 실행되어도 괜찮은 것 Exception 처리는 2가지 방법 예외의 원인이 현재 실행되는 블록에 있는 경우..
Interface 인터페이스 인터페이스 선언 interface InterfaceName [**extends** ,....] { interfaceBody } 예) 인터페이스 정의 public intrface Aquatic { **public abstract** void swimming(); public abstract void breathUnderWater(); } 인터페이스는 골격만 정의해 놓은 것으로 주로 기능(메서드)의 명세를 정의 인터페이스 내에 메서드는 모두 추상메서드이며 public abstract는 생략 가능합니다. 인터페이스 내에 변수는 항상 public static final이며 이 또한 생략이 가능합니다. 인터페이스는 구현하면 다중 상속과 같은 효과를 낼 수 있습니다.(상속을 여러개 받으..
Garbage Collecting 객체 생성에 사용하는 new 키워드는 존재하지만 생성된 메모리에서 해제하는 키워드는 존재하지 않습니다 없는 이유는 자바에서 JVM이 알아서 메모리를 관리하기 때문이다. 객체가 더 이상 프로그램에서 사용되지 않으면 가비지 컬렉터가 스스로 판단하여 메모리를 해제하여 수거 Usage Modifier Usage Modifier는 Access Modifier를 제외한 모든 Modifier를 의미함. 여기 Usage Modifier(사용 제한자) 중 static, final, abstract를 볼 예정 이외에 transient, synchronized, volatile, native 등이 있음. static의 의미... 일반적으로 각 인스턴스들은 서로 독립적으로 객체 내에서 변수값..
상속 상속은 기존의 클래스를 확장하여 새로운 클래스를 이끌어 내는 것을 의미 기존의 코드를 재사용함 → 필요 코드 제작성을 줄여줌 자바에서는 단일 상속만 가능 상속은 하나의 부모 클래스만 가질 수 있음 → 단 인터페이스는 다중상속이 가능! extends 부모 클래스(super)의 멤버(변수와 메소드)를 자식 클래스(sub)에서 사용이 가능함 생성자는 상속이 안된다. sub class is-a Super class has a 관계 : 객체가 멤버를 가지고 있다 일 경우 NameCart has a name class NameCart{ String name; int size; } 상속에서 알아야 할 점~ 최상위 클래스는 Object 클래스이다 final 클래스는 상속 불가 abstract 클래스는 추상클래스이..
클래스 인스턴스 객제 생성 객체 생성 명령어 ClassName instanceName = new Constructor(); 생성자는 클래스 이름과 같음 생성자의 역할은 맴버변수(속성) 초기화 혹은 클래스 구동을 위한 사전동작을 구현 package obj; public class Pen { //클래스 안에 코드 //attribute (속성, 멤버변수), constructors (생성자), method //attribute (속성, 멤버변수) public String color;//패키지 관계 없이 불러 올 수 있음 int price; //default 같은 패키지 내에서 불러올 수 있음 //메서드 public void write(){ System.out.println("hello world"); } pub..
프로젝트 명세서 요구사항 정의: 고객의 정보: 이름, 성별, 이메일, 출생년도 고객 정보는 입력을 받아서 배열(정적 저장공간)에 저장합니다. 고객 정보 저장 형식 이름: 문자열로 저장 성별: 문자로 남자는 'M', 여자는 'F'로 저장 이메일: 문자열로 저장 출생년도: 정수로 저장 고객 관리 프로그램 기능: 고객 정보를 저장 : insertCustomerData() 고객 정보를 조회 : printCustomerData(int index) 고객 정보를 수정 : updateCustomerData(int index) 고객 정보를 삭제 : deleteCustomerData(int index) 인터페이스 설정(메뉴): "(1)"을 입력하여 고객 정보를 입력 받음. "P(p)(이전)/N(n)(다음)"을 사용하여 저..