분류 전체보기 25

Object 객체 탐구

모든 클래스의 부모 클래스로서 자바에서 최상위에 클래스이다. toString() 모든 하위 클래스에서 메서드를 재정의 해야한다. 호출하지 않아도 다른 곳에 쓰일 수 있다. → 디버그, 오류메세지 로깅 시 자동으로 호출 할 수 있다. 간결하고 가독성이 좋은 형태로 정보를 반환시켜야 한다. 객체의 주요 정보를 모두 반환하는 것이 좋다. equals() 주소 값을 비교하는 == 연산과는 다르게 두 대상의 값 자체를 비교한다. 클래스는 call by reference이기 때문에 생성시 주소값이 부여되므로 같은 값을 부여하더라도 주소값이 다를 수 있어 버그가 발생할 수 있기 때문에 객체 내부의 값 자체를 비교하기 위해서 사용한다. hashCode() 객체의 주소값을 변환하여 생성한 객체 고유의 정수 값 Strin..

주제 정리 2021.08.07

디자인 패턴 23가지

23가지의 개발 패턴 정리하기 (참고 https://refactoring.guru/) Creational Patterns (생성 패턴) Factory Method 객체 생성을 위한 인터페이스를 제공하지만 클래스의 인스턴스 생성의 타입을 서브클래스가 결정하도록하는 방식 패턴 없이 발생할 수 있는 문제 새로운 서브 클래스 추가의 필요시 전체적인 코드의 수정이 필요하다. 서브 클래스의 지속적인 추가시 지속적으로 발생할 가능성이 있다. 해결법 new 연산자 사용 대신에 factory method로 대체하여 사용한다. new 연산자는 factory method에서 호출 시킨다. factory는 공통된 인터페이스를 상속하고 있어야한다. Abstract Factory 추상화를 통해 구제척인 클래스를 특정하지 않고 비..

주제 정리 2021.08.07

[JAVA] StringBuilder와 StringBuffer

JAVA에서는 문자열을 다룰수 있는 String이라는 클래스가 있다. 그럼에도 불구하고 JAVA는 문자열을 다루는 StringBuilder와 StringBuffer 클래스가 존재한다. 가장 큰 이유로는 StringBuilder와 StringBuffer 클래스는 String 클래스와는 다르게 가변적으로 값을 변경할 수 있다는 것이다. String 클래스도 아래와 같은 방법으로 문자열을 변경할 수 있다. String str1 = "ABC"; System.out.println("변경전 : " + str1); str1 = str1 + "D"; System.out.println("변경후 : " + str1); 변경전 : ABC 변경후 : ABCD 하지만 String 클래스는 값을 변경할 때마다 메모리에 새로운 공..

주제 정리 2021.08.07

[TIL]Day 2 (java)

Interface - 구현을 하며 필요성에 대해서 크게 못 느끼고 있어 사용하지 않았다. interface에 default Method 기능을 사용하여 Adapter의 역할을 한다는 것을 알게되었다. 단순히 구현할 함수의 형식만 가지고 있으며 알려주는 것이 아닌 구체적으로 method와 함수의 내용도 가지고 있어 중복 구현을 막을 수 있다는 것을 알게되었다. 다형성에 대하여 의미적으로만 알고 있어 인터페이스의 필요성을 더욱 못 느꼈으나 예시의 코드 동작들을 보면서 이전에 구현을 하였던 코드들의 문제점들이 하나씩 생각나고 수정할 점을 많이 느끼게 되었다. Lambda 표현식 인터페이스 인스턴스를 간단한 방식으로 생성하고 동작들을 구현하여 사용 할 수 있는 것을 배웠고 인스턴스를 사용하기 위해서 클래스를 별..

TIL 2021.08.06

[TIL]Day 1 (git)

주로 혼자 개발을 하여 branch를 혼자 사용하여 몰랐던 기능들 amend : 기존의 commit 내용을 수정하는 방법 / branch를 혼자 사용 할 때만 사용! 사용법 - git add 파일명, git commit --amend 명령어 순서로 수행시 commit의 내용을 변경할 수 있다. stash : branch를 옮겨야 할 때 새로운 commit을 생성하지 않고 임시 저장 후 branch를 옮기는 방법 사용법 - git stash -m '메세지 내용' 후에 branch를 이동하여 작업한다. 다시 branch로 돌아와 git stash apply 명령어로 작업을 불러온다. git stash list 명령어로 저장된 목록을 확인할 수 있다. reset - 커밋을 되돌릴 때 사용한다 / 개인 bran..

TIL 2021.08.04
320x100