본문 바로가기

분류 전체보기474

여러 인터페이스 구현, 인터페이스의 상속 자바의 인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스는 구현 할 수 있음 디폴트 메서드가 중복 되는 경우는 구현 하는 클래스에서 재정의 하여야 함 여러 인터페이스를 구현한 클래스는 인터페이스 타입으로 형 변환 되는 경우 해당 인터페이스에 선언된 메서드만 사용 가능 함 package ch35; public interface Buy { void buy(); default void order() { System.out.println("buy order"); } } package ch35; public interface Sell { void sell(); default void order() { System.out.println("sell order"); } } package ch35; pu.. 2021. 4. 19.
인터페이스의 요소 상수 모든 변수는 상수로 변환 됨 public static final 추상 메서드 모든 선언된 메서드는 추상 메서드 public abstract 디폴트 메서드 (자바 8이후) 구현을 가지는 메서드, 인터페이스를 구현하는 클래스들에서 공통으로 사용할 수 있는 기본 메서드 default 키워드 사용 구현 하는 클래스에서 재정의 할 수 있음 인터페이스를 구현한 클래스의 인스턴스가 생성 되어야 사용 가능함 정적 메서드 (자바 8이후) 인스턴스 생성과 상관 없이 인터페이스 타입으로 사용할 수 있는 메서드 private 메서드 (자바 9이후) 인터페이스를 구현한 클래스에서 사용하거나 재정의 할 수 없음 인터페이스 내부에서만 사용하기 위해 구현하는 메서드 default 메서드나 static 메서드에서 사용함 pack.. 2021. 4. 19.
인터페이스를 활용한 dao 구현 DB에 회원정보를 넣는 dao(data access object)를 여러 DB제품이 지원 될 수 있게 구현함 환경파일(db.properties)에서 database의 종류에 대한 정보를 읽고 그 정보에 맞게 dao 인스턴스를 생성하여 실행될 수 있게 함 파일 구조 db.properties는 프로젝트파일에 바로 생성 DBTYPE=MYSQL package ch33.domain.userinfo.dao; import ch33.domain.userinfo.UserInfo; public interface UserInfoDao { void insertUserInfo(UserInfo userInfo); void updateUserInfo(UserInfo userInfo); void deleteUserInfo(UserI.. 2021. 4. 19.
인터페이스(interface) 모든 메서드가 추상 메서드로 선언됨 public abstract 모든 변수는 상수로 선언됨 public static final 인터페이스 구현과 형 변환 인터페이스를 구현한 클래스는 인터페이스 형으로 선언한 변수로 형 변환 할 수 있음 CalcCalc calc = new CompleteCalc(); 상속에서의 형 변환과 동일한 의미 클래스 상속과 달리 구현 코드가 없으므로 여러 인터페이스를 구현할 수 있음(cf. extends) 형 변환되는 경우 인터페이스에 선언된 메서드만을 사용가능함 package ch32; public interface Calc { double PI = 3.14; int ERROR = -999999; int add(int num1, int num2); int substract(int.. 2021. 4. 19.
CSS 넘침 제어 overflow: 요소의 크기 이상으로 내용이 넘쳤을 때, 보여짐을 제어하는 단축 속성 visible: 넘친 내용을 그대로 보여줌(기본 값) hidden: 넘친 내용을 잘라냄 scroll: 넘친 내용을 잘라냄, 스크롤바 생성 auto: 넘친 내용이 있는 경우에만 잘라내고 스크롤바 생성 overflow: auto; 2021. 4. 18.
CSS 크기 계산 box-sizing: 요소의 크기 계산 기준을 지정 content-box: 요소의 내용(content)으로 크기 계산 border-box: 요소의 내용 + padding + border로 크기 계산(따로 계산할 필요가 없음) box-sizing: border-box; 2021. 4. 18.