LANG.. (15) 썸네일형 리스트형 [객체지향] SOLID 설계원칙 SOLID SRP : 단일책임 원칙 OCP : 개방-폐쇄 원칙 LSP : 리스코프 치환 원칙 ISP : 인터페이스 분리 원칙 DIP : 의존성 역전의 원칙 SOLID 원칙을 사용하면 코드를 확장하고 유지 보수가 쉬워지며, 불필요한 복잡성을 제거해 리팩토링에 소요되는 시간을 줄여 프로젝트 개발의 생산성을 높일 수 있다. 1. SPR(Single Responsibility Principle) : 단일 책임 원칙 : 한 클래스는 단 하나의 책임을 가져야 하며, 클래스가 변경되어야 하는 이유는 단 하나의 이유여야 한다. [ 예제 ] 위의 경우 유효성 검사와 데이터 저장은 사용자 정보와 직접적 연관이 없다. -> 단일 책임 원칙을 지키지 않음 -> 클래스를 더 작은 단위로 분리하여 단일 책임을 부여할 수 있다. .. Map - HashMap Map : Map은 키-값(key-value)쌍으로 데이터를 저장하는 인터페이스이다. - 데이터를 저장하고 검색하는데 사용된다. - 각각의 키는 유일해야 한다. [ Map 인터페이스의 주요 메서드 ] 1. 객체 추가 기능 - put(K key, V value): 주어진 키와 값을 추가, 정상적으로 저장되면 그 값(value)를 리턴. 2. 객체 검색 기능 - containsKey(Object Key): 주어진 키가 있는지의 여부를 확인. - containsValue(Object value): 주어진 값이 있는지의 여부를 확인. - get(Object key): 주어진 키에 들어있는 값을 리턴한다. 없을 경우 null 반환 - isEmpty(): 컬렉션이 비어있는지의 여부를 확인. - size(): 저장된.. Set - HashSet Set 인터페이스 - Set 인터페이스는 컬렉션 프레임워크에 속하는 인터페이스 중 하나다. - 중복된 원소를 허용하지 않는다. - 순서를 보장하지 않는다. (List는 순서가 보장된다.) - 순서가 유지되지 않기 때문에 인덱스로 꺼내올 수 없으며, 그로 인해 반복자를 사용한다. 반복자(iterator) 는 인터페이스를 구현한 객체를 의미하며 이 객체는 Set 인터페이스의 iterator() 메서드를 호출해 객체를 얻을 수 있다. 아래는 iterator 인터페이스의 주요 메서드이다. hasNext() : 가져올 객체가 있으면 True를, 없으면 false를 리턴한다. next() : 컬렉션에서 하나의 객체를 가져온다. remove() : Set 컬렉션에서 객체를 제거한다. [ Set 주요 메서드 ] 1. .. Generic, Collection 제네릭(generic) 제네릭은 Java에서 컬렉션 및 메서드, 클래스 등을 정의할 때 타입을 파라미터로 사용할 수 있도록 하는 기능이다. 클래스 또는 인터페이스 이름 뒤에 "" 부호가 붙고, 그 사이에 파라미터가 위치한다. 제네릭은 형 안정성(type safety)을 위해 사용한다. 코드의 재사용성과 가독성을 높일 수 있다. Collection 컬렉션은 데이터의 그룹을 효과적으로 다룰 수 있는 자바의 라이브러리이다. Java에서는 컬렉션 프레임워크를 제공하고, 다양한 종류의 데이터 구조를 구현한 클래스들을 포함하고 있다. 객체를 객체들의 모음 형식으로 관리할 수 있는 방법을 제공하는 클래스들을 컬렉션이라고 한다. 컬렉션은 배열과 유사하지만 데이터를 저장/조회/수정/삭제하는 작업을 쉽게 처리할 수 있으며.. List - ArrayList, LinkedList List List 인터페이스는 Java에서 제공하는 컬렉션 프레임워크(Collection Framework)에 속하는 인터페이스 중 하나이다. List는 순서가 있는 데이터의 집합으로, 중복된 요소를 허용한다. List는 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동으로 인덱스 번호가 부여되고 인덱스를 통해 객체를 검색, 삭제할 수 있는 기능을 제공한다. 객체 추가 기능 add(E d): 주어진 객체를 List의 맨 끝 부분에 추가 add(int index, E e) : 주어진 인덱스에 객체를 추가 set(int index, E e) : 주어진 인덱스에 저장된 객체를 주어진 객체로 바꿈 객체 검색 기능 contains(Object o): 주어진 객체가 저장되어있는지의 여부를 판단 get(int i.. StringBuffer/StringBuilder, BufferedReader/BufferedWriter JAVA API를 공부하다가 StringBuffer/StringBuilder, BufferReader/BufferWirter에 대해 접했다. 코테 공부하며 다른 풀이법을 찾아봤을 때 성능 향상을 위해 사용하는 함수들이었던 것 같은 기억.. 공부해야겠다는 생각에 포스팅한다. 1. StringBuffer과 StringBuilder 둘 다 문자열을 변경할 수 있는 가변한 객체를 제공하는 클래스 (String class는 불변 객체 : 인스턴스가 생성된 후에는 내용이 변경불가함) 생성시 할당하는 저장용량 capacity(16)을 가지고 있고, append 연산으로 저장용량을 초과할 경우 기존 저장용량의 1.5배가 되는 새로운 저장 용량을 가진 객체를 재할당한다. String 클래스는 객체를 생성하는 문제로 인해.. API *API : api는 라이브러리라고 부르며 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말한다. 주요 패키지와 클래스 java.lang: Java의 기본 데이터 타입, 기본적인 객체 클래스, 스레드, 예외 처리 등의 핵심 기능을 제공하는 패키지 Object : 자바 클래스의 최상위 클래스 System : 표준 입력장치로부터 데이터를 입력받거나 표준 출력장치로 출력하기 위해 사용 Class : 클래스를 메모리에 로딩할 때 사용 String : 문자열을 저장하고 문자열의 여러 가지 정보를 얻을 때 사용 StringBuffer, StringBuilder : 문자열을 저장하고 내부 문자열을 조작할 때 사용 Math : 수학 함수를 이용할 때 사용 java.util: 컬렉션 프레임워크 (List,.. 예외처리(checked exception / unchecked exception) - 에러는 심각한 에러와 가벼운 에러로 나누어진다. - 심각한 에러는 시스템 상의 문제로 인한 에러로, 개발자가 처리할 수 없는 에러이다 - 가벼운 에러는 개발자가 코드를 통해 처리할 수 있는 에러로 이를 예외처리라고 한다. 1. 예외의 종류 검사 예외 (Checked Exception) : 컴파일러가 확인 가능한 예외로, 반드시 예외처리 코드를 작성해야 한다. - exception을 상속받으면 checked exception이고, 대표적으로 IOException, SQLException이 있다. 비검사 예외 (Unchecked Exception / RuntimeException) : 컴파일러가 확인하지 못하는 예외로, 예외처리 코드를 작성하지 않아도 된다. - RuntimeException을 상속받으면.. 이전 1 2 다음