개발소설

낙서 - Notepad++ 정리 본문

낙서장

낙서 - Notepad++ 정리

ChaeHing 2023. 4. 4. 22:24

복사

  • 얕은 복사는 객체의 참조값을 복사하는 것을 의미
  • 깊은 복사는 내용이 동일하지만 참조값이 다른 새로운 객체를 생성하는 것을 의미

 

DI

  • 의존성 주입이란, 객체가 자신이 의존할 객체를 스스로 만들도록 하는 것이 아니라 외부에서 주입해주는 것을 의미
  • 의존성 주입의 기반 원리는 추상화와 다형성
  • 인터페이스를 통해 공통된 메서드들을 추상화하여 추상메서드로 정의하였고, 인터페이스를 타입으로 사용한 필드를 정의함으로써 다형성을 통해 구현 클래스의 객체를 할당받을 수 있기 때문

 

  • 단 하나의 객체만 생성되도록 코드를 작성하는 패턴을 싱글톤 패턴(Singleton pattern)

 

Math 함수

Math.abs() 절대값
Math.floor() 소수점이하 버린다
Math.pow () 제곱값

 

 

주요 사용 메서드

  • String 클래스의 메서드: String 클래스는 자바에서 가장 자주 사용되는 클래스 중 하나이며, 이 클래스의 메서드 중에서도 자주 사용되는 메서드는 substring(), equals(), indexOf(), replace() 등이 있습니다.
  • Arrays 클래스의 메서드: Arrays 클래스는 배열을 다루는데 유용한 메서드를 제공합니다. 자주 사용되는 메서드로는 sort(), binarySearch(), equals(), toString() 등이 있습니다.
  • Collections 클래스의 메서드: Collections 클래스는 자바에서 제공하는 컬렉션 프레임워크를 다루는 메서드를 제공합니다. 자주 사용되는 메서드로는 sort(), binarySearch(), reverse(), shuffle(), min(), max() 등이 있습니다.
  • File 클래스의 메서드: File 클래스는 파일과 디렉터리를 다루는데 사용되는 메서드를 제공합니다. 자주 사용되는 메서드로는 exists(), isFile(), isDirectory(), mkdirs(), listFiles() 등이 있습니다.
  • Math 클래스의 메서드: Math 클래스는 수학 계산에 사용되는 메서드를 제공합니다. 자주 사용되는 메서드로는 abs(), sqrt(), pow(), random() 등이 있습니다.
  • InputStream/OutputStream 클래스의 메서드: InputStream/OutputStream 클래스는 파일이나 네트워크와 같은 데이터 소스에서 데이터를 읽고 쓰는데 사용됩니다. 자주 사용되는 메서드로는 read(), write(), flush(), close() 등이 있습니다.
  • JDBC의 메서드: JDBC는 자바와 데이터베이스를 연결하는 데 사용되는 API입니다. 자주 사용되는 메서드로는 getConnection(), createStatement(), executeQuery(), executeUpdate() 등이 있습니다.

 

스트림

  • 스트림은코드를 조금 더 직관적으로 이해하고 작성할 수 있게 하기위해
  • 다양한 유형의 데이터를 일관된 방식으로 다룰 수 있게 하기 위해
  • 만들어진문법

 

예외처리

  • 정상적으로 실행되면 catch는 실행되지 않고 finally가 실행됨
  • catch는 해당 유형의 예외가 발생하는 경우 실행
  • catch가 여러개면 일치하는 하나의 catch만 실행
  • 일치하는 예외를 못찾는 경우 예외 처리 되지 못함

 

컬렉션 프레임워크

 

  • List - 객체를 배열과 같이 일렬로 저장, 인덱스를 통해 객체를 검색, 추가, 삭제 가능 -> arraylist는 데이터가 연속적으로 붙어있기 때문에 삭제와 추가시 불리 , linkedlist는 연속적이지 않기 때문에 삭제와 추가시 용이
     인덱스로 바로 접근이 가능해 검색에 용이   인덱스에 순차적으로 접근하기 때문에 검색에 불리 
  • Set - 객체의 중복을 허용하지 않고, 저장 순서를 유지하지 않는다. HashSet -> 중복값x, 저장순서 유지 X   , TreeSet -> 데이터가 오름 차순으로 정렬됨, 검색에 용이 
  • Map - key와 value 쌍(entry)으로 이루어져 있고 key는 중복x value는 중복가능,  value가 같더라도 key가 다르면 다른값

 

제네릭

  • 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정 할 수 있도록 일반화 해두는것 - Generic(일반적인)
    클래스 또는 메서드가 특정 데이터 타입에 얾매이지 않도록 해둔것

래퍼클래스

  • 8개의 기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)

 

this와 this()

  • this는 나중에 생성될 인스턴스를 가르키는 참조변수 
  • this()는 같은 클래스내에 다른 생성자를 호출

 

 

생성자 오버로딩 -> 기본값을 지정할때 주로 사용

 

 

내부클래스
원칙 1 : 내부 클래스를 기준으로, 외부클래스의 멤버를 참조할 때 적용 되는 규칙
 -> "스태틱 멤버는 인스턴트 멤버를 참조할 수 없다." -> 스태틱을 사용시 인스턴스가 없을수 있기 때문에 참조가 불가능.
     . 스태틱 내부 클래스에서는 인스턴스 내부 클래스를 인스턴스화 할 수 없다.
     . 스태틱 내부 클래스에서는 인스턴스 메서드를 호출 할 수 없다.
                       인스턴스 변수를 참조 할 수 없다.  
   
원칙 2 : 내부클래스를 기준으로, 내부클래스 자신의 멤버를 선언할 때 적용 되는 규칙
       스테틱 멤버는 스테틱 내부 클래스에서만 선언 할 수 있다.
   
-> java 11기준 규칙, java 17 부터는 가능한 규직

 



https://online.visual-paradigm.com/diagrams/features/

Comments