| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 국비지원교육
- spring boot
- 게시판 리뷰 만들기
- 개발자취업부트캠프
- tomcat
- #패스트캠퍼스 #국비지원교육 #메가바이트스쿨 #MegabyteSchool #개발자취업부트캠프 #내일배움카드
- 메가바이트스쿨
- MVC 패턴
- 내일배움카드
- side project
- View
- GIT
- 클래스 상속
- MegabyteSchool
- #javaStudy
- crud
- MVC
- AWS
- Spring
- Interface
- Algorism study
- github
- array
- Java
- Entity
- Sts
- 게시판 만들기
- group study
- 클래스 class
- 패스트캠퍼스
- Today
- Total
목록Java (22)
tuter77
좋은 프로그램 알고리즘이란 - 신뢰성, 처리 효율, 범용성, 확장성, 이식성, 가독성 등이 높으면 좋은 알고리즘이라고 한다. 시간 복잡도는 입력되는 데이터의 증가에 따른 성능의 변화를 예측하는 것이다. - Big O 표기법으로 표현한다.( O(n) ) : n 개의 데이터에 증가하는 변화율을 표현한다. 예시로 보면, int func1(int[] n) { if(n.length < 3) return 0; int a = n[0]; a += n[1]; a += n[2]; return a; } 이 예시에서 배열 n의 크기가 어느 정도이든 매번 똑같은 횟수로 기능을 처리하기 때문에 시간복잡도를 O(1)이라고 표현한다.(일정하다) 다음으로, int sum(int[] n){ int s = 0; for(int i : n)..
● 자바의 유용한 클래스 ▷ Object 클래스 - 모든 클래스의 최상위 클래스로 import 하지 않아도 자동으로 import 된다. - import.java.lang.*;- 많이 사용하는 기본 클래스들이 속한 패키지이다.(String, Integer, System...)- 모든 클래스는 Object를 상속받고 Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다.- 컴파일러가 extends Object를 추가한다.(class Student => class Student extends Object) ▷Object 클래스의 toString 메서드 오버라이딩 예제) package ch01; class Book{ private String title; private String author; p..
● 인터페이스 ▷ 실습 책 선반 클래스 만들어서 책넣기, 빼기 기능 구현. 먼저 Shelf라는 상위 클래스를 만들어 필요한 객체와 기능을 구현한다. package ch15; import java.util.ArrayList; public class Shelf { protected ArrayList shelf; // 위에서 생성자를 써도 되지만 public인 아래의 멤버변수로 생성자를 써주는게 낫다. public Shelf() { shelf = new ArrayList(); //string 안써도됨. } public ArrayList getShelf(){ return shelf; } public int getCount() { return shelf.size(); } } 이 클래스는 상속받아야하기에 prote..
● 인터페이스의 여러 요소 ▷상수 - 모든 변수는 인터페이스에서 상수로 변환 된다.(public static final) ▷추상 메서드 - 모든 선언된 메서드는 추상 메서드가 된다.(public abstract) ▷ 디폴트 메서드(자바 8이후) - 구현을 가진느 메서드, 인터페이스를 구현하는 클래스들에서 공통으로 사용할 수 있는 기본 메서드이다. - default 키워드를 사용한다. - 구현하는 클래스에서 재정의할 수 있다. - 인터페이스를 구현한 클래스의 인스턴스가 생성되어야 사용가능하다. ▷ 정적 메서드(자바8 이후) - 인스턴스 생성과 상관 없이 인터페이스 타입으로 사용할 수 있는 메서드이다. ▷ private 메서드(자바 9이후) - 인터페이스를 구현한 클래스에서 사용하거나 재정의할 수 없다. -..
● 인터페이스를 활용한 다형성 구현(DAO) ▷ 인터페이스와 다형성 - 하나의 인터페이스를 여러 객체가 구현하게 되면 클라이언트 프로그램은 인터페이스의 메서드를 활용하여 여러 객체의 구현을 사용할 수 있다.(다형성) ▷인터페이스를 활용한 다형성 구현(DAO) - 실습. - db에 회원 정보를 넣는 dao(data access object)를 여러 db 제품이 지원될 수 있게 구현한다. - 환경 파일(db.properties)에서 database의 종류에 대한 정보를 읽고 그 정보에 맞게 dao인스턴스를 생성하여 실행 될 수 있게 한다. - source hierachy - 먼저 userInfoDao 클래스를 정의한다. 여기에서는 각 dao에 필요한 정보들을 미리 정의한다. package ch13.domai..
● 예외처리 ▷Exception - 자바에서는 컴파일 에러와 런타임 에러가 발생한다. - 컴파일 에러는 컴파일 시 발생하는 에러이며, 런타임 에러는 java 애플리케이션이 실행할 때 발생하는 에러이다. - Exception은 프로그램 실행시 예상치 못한 일로 발생할 수 있는 에러를 의미하며, 비정상적인 상태이다.- 예시) 존재하지 않는 파일을 Open할 경우, 네트워크 접속에 장애가 날 경우, 클래스 로딩시 오류가 발생할 경우, 0으로 나눌경우 - java에서 의미적제약(semantic constraint)을 위반했을 때 위의 예처럼 JVM은 프로그램에게 Exception이라는 에러가 발생했다고 알린다.어떤 언어는 예외 프로그래밍시에 흔히 발생할 수 있는 일로 이러한 일이 발생했을 때 프로그래머가 원하는..
▷DownCasting - 업캐스팅 된 클래스를 다시 원래의 타입으로 형 변환 - 하위 클래스로의 형 변환은 명시적으로 해야한다. 예시) Customer vc = new VIPCustomer(); //묵시적 VIPCustomer vCustomer = (VIPCustomer)vc; //명시적 ▷ instanceof 키워드 해당 instance의 타입을 확인해 인스턴의 형이 맞으면 true, 아니면 false를 반환한다. 예시) Customer customerE = new GoldCustomer(10030, "Edward"); if(customerE instanceof GoldCustomer) { GoldCustomer vc = (GoldCustomer)customerE; System.out.println(..
● 메서드 재정의하기 (overring) ▷ 하위 클래스에서 메서드 재정의 하기 - 오버라이딩 : 상위 클래스에 정의된 메서드의 구현 내용이 하위클래스에서 구현할 내용과 맞지 않는 경우, 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있다. - VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않아 재정의하여 구현해야한다. @Overrige public int calcPrice(int price){ public int calcPrice(int price) { bonusPoint += price * bonusRatio; price -= (int)(price *salesRatio); return price; } 위의 예시를 작성할 때 마우스 우클릭 > Source > Overri..