본문 바로가기

이론70

[210614] 자바 문제 리딩, static static은 객체를 생성하지 않고 사용하기 위해 만든 키워드이다. static이 붙은 메서드나 변수는 "클래스 이름. 메서드"나 "클래스 이름, 변수" 처럼 사용한다. 6 "H"나 "C" suit(슈트)를 갖도록 SUIT 배열로 선언한다. static 이므로 객체를 생성하지 않고 사용할 수 있다. SUIT의 length는 2다. 7 "A"에서 "T"사이의 valu(밸류)를 갖도록 VALU 배열로 선언한다. static 이므로 객체를 생성하지 않고 사용할 수 있다. VALU의 length는 10이다. 6-7 "H"나 "C" suit(슈트)에 대해 "A"에서 "T"사이의 valu(밸류)를 조합하여 20개의 카드값을 만들도록 한다. "CA", "C2" ,....... ,"CT" , "HA", "H2",..... 2021. 6. 14.
[210614] 자바 문제 리딩, 객체와 은닉화 6 Card의 중요 데이터(멤버필드)로 Card 값을 문자열 타입으로 선언한다. 접근 제한자를 private으로 선언하여 데이터를 보호한다. 9-11 Card 값을 외부로 반환하는 메소드를 선언한다. 14 -17 Card("H2")를 호출한다. 다른 생성자를 호출하면서 중요 데이터인 멤버필드를 H2로 초기화한다. 19-22 Card 값을 입력받는 생성자를 선언한다. 이미 존재하는 생성자에 대해 아규먼트 개수나 타입이 다른 생성자 오버로딩 24-28 Card 생성자에 아규먼트로 카드 객체를 받는 '복사 생성자' . 입력받은 다른 Card 의 값만 받아 카드값을 초기화한다. 값은 같지만 다른 객체를 만들 때 사용한다. 30-34 toString () 오버라이딩 해, 레퍼런스 변수로 출력가능하게 한다. 6-7.. 2021. 6. 14.
[JAVA] Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. 어제는 잘 돌아가던 DB연동이 갑자기 오류메세지를 발산했다. 뿜뿜.. Loading class 'com.mysql.jdbc.Driver'. This is deprecated. The new driver class is 'com.mysql.cj.jdbc.Driver'. deprecated 한창 토익할 때 많이 봤던 단어다. 더이상 효율적이거나 안전치 않거나 다른 것에 의해 대체되었다는 이유 등으로 사용을 금지시키커나..... 어떤 드라이버로 대체 되었을까? 바로 밑에 문장에 친절하게 안내되어있다. The new driver class is 'com.mysql.cj.jdbc.Driver'. 현재 내가 사용하고 있는 JDBC 커넥터 라이브러리는 mysql-connector-java-8.0.25.jar 이다. .. 2021. 6. 10.
[디자인 패턴] 전략 패턴 Strategy Pattern 📌 Strategy pattern 전략 패턴으로 불리며, 객체 지향의 꽃이다. 유사한 행위들을 캡슐화하여, 객체의 행위를 바꾸고 싶은 경우 직접 변경하는 것이 아닌 전략만 변경하여 유연하게 확장하는 패턴 SOILD 중에서 개방 폐쇄 원칙과 의존 역전 원칙을 따른다. Strategy Pattern 에서는 이것들이 필요하다. 전략 메서드를 가진 전략 객체 전략 객체를 사용하는 컨텍스트 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트 인코딩을 전략패턴을 이용해보자. 라인 리딩 13 전략객체를 사용하는 컨텍스트 생성 16,18,31 전략 메서드를 가진 전략 객체 생성 23,27,31 컨텍스트에 전략 객체 세팅 (31 은 전략객체 생성과 컨텍스트에 세팅을 한꺼번에 진행) 24,28,32 메세지를 세팅해놓은 컨텍.. 2021. 6. 6.
[디자인패턴] 파사드 패턴 Pasade Pattern 📌 Facade pattern Facade 는 건물의 앞쪽 정면이라는 뜻을 가진다. 여러 개의 객체와 실제 사용하는 서브 객체의 사이에 복잡한 의존관계가 있을 때, 중간에 facade 라는 객체를 두고, 여기서 제공하는 interface만을 활용하여 기능을 사용하는 방식이다. 단, Facade는 자신이 가지고 있는 각 클래스의 기능을 명확히 알아야 한다. 이처럼 파사드 패턴은 여러 개의 객체를 합쳐서 기능을 만들때 사용한다. 직접 살펴보자. 먼저, 파사드 패턴을 이용하지 않고 구현해보자. 이제는 pasade 패턴을 이용해보자. 9-13 Ftp, Reader, Writer 에서 필요한 변수들을 SftpClient 클래스 생성자로 만든다 => SftpClient 에서는 Ftp, Reader, Writer의 .. 2021. 6. 6.
[디자인 패턴] 옵저버 패턴 Observer Pattern 📌 Observer pattern 관찰자 패턴은 변화가 일어났을때, 미리 등록된 다른 클래스에 통보를 해주는 패턴이다. event listener 가 Observer 패턴을 사용하고있다. 2021. 6. 6.