post-thumbnail

Effective Java - 클래스와 인터페이스(5)

중첩클래스(nested class)란 다른 클래스 안에 정의된 클래스를 말한다.중첩 클래스의 종류는 총 네가지다.정적 멤버 클래스(비정적) 멤버 클래스,익명 클래스지역클래스 이 중 첫번째를 제외한 나머지는 내부 클래스(inner class)에 해당한다.정적 멤버 클래스

약 3시간 전
·
0개의 댓글
post-thumbnail

Effective Java - 클래스와 인터페이스(4)

[아이템 23]. 태그 달린 클래스보다는 클래스 계층 구조를 이용하라.

약 4시간 전
·
0개의 댓글
post-thumbnail

Effective Java - 클래스와 인터페이스(3)

[아이템 22]. 인터페이스는 타입을 정의하는 용도로만 사용하라.

어제
·
0개의 댓글
post-thumbnail

Effective Java - 클래스와 인터페이스(2)

[아이템 20]. 추상 클래스보다는 인터페이스를 우선하라.

2일 전
·
0개의 댓글
post-thumbnail

Effective Java - 클래스와 인터페이스(1)

[아이템 17]. 변경 가능성을 최소화하라

5일 전
·
0개의 댓글
post-thumbnail

[SOLID] 의존 역전 원칙(DIP)

고수준 모듈은 저수준 모듈의 구현에 의존해서는 안된다. 저수준 모듈이 고수준 모듈에서 정의한 추상 타입에 의존해야 한다.고수준 모듈과 저수준 모듈을 정의하면 아래와 같다.고수준 모듈: 어떤 의미 있는 단일 기능을 제공하는 모듈저수준 모듈: 고수준 모듈의 기능을 구현하기

2021년 9월 18일
·
0개의 댓글
post-thumbnail

[SOLID] 인터페이스 분리 원칙(ISP)

인터페이스는 그 인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다. 즉, 클라이언트는 자신이 사용하는 메서드에만 의존해야 한다.C++ 로 게시판 모듈을 개발한다고 해보자. ArticleService 클래스의 기능은 아래와 같다.게시글 작성게시글 목록게시글 삭제기

2021년 9월 16일
·
0개의 댓글
post-thumbnail

Effective Java - 모든 객체의 공통 메서드(4)

이번에는 Comparable 인터페이스의 유일무이한 메서드인 ComapreTo를 알아보자. 이번 장에서 다룬 다른 메서들과 다른 compareTo는 Object의 메서드가 아니다.Comparable을 구현 했다는 것은 그 클래스의 인스턴스들에 자연적인 순서가 있음을 뜻

2021년 9월 16일
·
0개의 댓글
post-thumbnail

[SOLID] 리스코프 치환 원칙(LSP)

리스코프 치환 원칙은 개방 폐쇄 원칙을 받쳐 주는 다형성에 관한 원칙을 제공한다.상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.상위 타입 SuperClass와 하위 타입 SubClass가 있다고 하자. 특정 메

2021년 9월 14일
·
0개의 댓글
post-thumbnail

Effective Java - 모든 객체의 공통 메서드(3)

Cloneable은 복제해도 되는 클래스임을 명시하는 용도인 믹스인 인터페이스지만, 아쉽게도 의도한 목적을 제대로 이루지 못했다. 가장 큰 문제는 clone 메서드가 선언된 곳이 Clonealbe이 아닌 Obejct이고, 그마저도 protected라는데 있다. 하지만

2021년 9월 14일
·
0개의 댓글
post-thumbnail

[SOLID] 개방 폐쇄 원칙(OCP)

개방 폐쇄 원칙은 "확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다."를 의미한다. 조금 더 쉽게 풀어 쓰자면, "기능을 변경하거나 확장할 수 있으면서 그 기능을 사용하는 코드는 수정하지 않는다."를 뜻한다.한 가지 예시를 보자.위 사진은 자바 어플리케이션에서

2021년 9월 12일
·
0개의 댓글
post-thumbnail

[SOLID] 단일 책임 원칙(SRP)

SOLID가 뭔데? 흔히 객체 지향 5대 원칙으로 불리는 이 SOLID 원칙은 SRP(단일 책임 원칙),* OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), DIP(의존 역전 원칙), ISP(인터페이스 분리 원칙)*을 말하며, 앞자를 딴 것으로, 프로그래머가

2021년 9월 12일
·
0개의 댓글
post-thumbnail

Effective Java - 모든 객체의 공통 메서드(2)

equals를 재정의한 클래스 모두에서 hashcode도 재정의해야 한다. 그렇지 않으면 hashcode 일반 규약을 어기게 되어 해당 클래스의 인스턴스를 HashMap이나 HashSet같은 컬렉션의 원소로 사용할때 문제를 일으킨다.equals 비교에 사용되는 정보가

2021년 9월 12일
·
0개의 댓글
post-thumbnail

Effective Java - 모든 객체의 공통 메서드(1)

equals 메서드는 재정의하기 쉬워 보이지만 곳곳에 함정이 도사리고 있어서 자칫하면 끔직한 결과를 초래한다.문제를 회피하는 가장 쉬운길은 아예 재정의 하지 않는 것이다. 그러므로 밑의 상황중 하나에 해당하면 재정의 하지 않는것이 최선이다.각 인스턴스가 본질적으로 고유

2021년 9월 9일
·
0개의 댓글
post-thumbnail

Effective Java - 객체 생성과 파괴(3)

자바 라이브러리에는 close 메서드를 호출해 직접 닫아줘야 하는 자원이 많다. 자원 닫기는 클라이언트가 놓치기 쉬워서 예측할 수 없는 성능 문제로 이어지기도 한다. 이런 자원 중 상당수가 안정망으로 finalizer를 활용하고는 있지만 finalizer는 그리 믿을만

2021년 9월 7일
·
0개의 댓글
post-thumbnail

Effective Java - 객체 생성과 파괴(2)

정적 팩터리와 생성자에는 똑같은 제약이 하나있다. 선택적 매개변수가 많을때 적절히 대응하기 어렵다는 점이다.프로그래머들은 보통 점층적 생성자 패턴을 즐겨 사용했다.이 클래스의 인스턴스를 만드려면 원하는 매개변수를 모두 포함한 생성자중 가장 짧은것을 호출하면된다.보통 이

2021년 9월 5일
·
0개의 댓글
post-thumbnail

Effective Java - 객체 생성과 파괴(1)

클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자다. 클래스는 생성자와 별도로 정적 팩터리 메서드를 제공 할 수 있다.다음 코드는 boolean 기본 타입의 박싱 클래스인 Boolean에서 발췌한 간단한 예다지금 얘기하는 정적 팩터리 메서드는 디

2021년 9월 5일
·
0개의 댓글

Http 1.1

HTTP 를 통신을 할 때는 아래 4가지 통신 규약을 이용한다.

2021년 8월 6일
·
0개의 댓글
post-thumbnail

Springboot 동작원리!

톰켓을 따로 설치할 필요 없이 바로 실행가능하다.Socket - 운영체제가 가지고 있는 것htpp vs socket?stateless vs statefulhttp는 기본적으로 문서만 가져다 주면된다.톰켓 -> 웹서버 = http 서버만으로는 클라이언트의 주소를 알 수

2021년 8월 6일
·
0개의 댓글

[펌] C++를 이용한 TCP 소켓통신 구현

https://kevinthegrey.tistory.com/26

2021년 8월 1일
·
0개의 댓글