Language

Language/Principle

객체 지향 설계 5원칙 - SOLID

OOP (Object Oriented Programming)은 실세계의 '객체'라는 개념으로 프로그래밍하는, 프로그램 설계 방법론이자 개념의 일종이다. 이에 기반이 되는 대표적인 객체 지향 언어로 'Java'가 있다. 이러한 객체 지향 프로그램을 올바르게 설계해 나가는 방법, 원칙이 바로 객체 지향 설계의 5원칙 (SOLID) 이다. SOLID는 다음 다섯가지 원칙의 앞글자를 따서 부르는 이름으로, 원칙의 종류는 다음과 같다. SRP (Single Responsibility Principle) : 단일 책임 원칙 OCP (Open Closed Principle) : 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 ISP (Interface Segre..

Language/Principle

객체 지향의 4대 특성

OOP (Object Oriented Programming) - 객체 지향 프로그래밍은 기존의 절차적/구조적 프로그래밍에서 보다 현실세계를 반영하자는 취지에서부터 시작되었다. 우리가 현실세계에서 인지하는 사물, 곧 객체를 인지하는 방식대로 프로그램을 만들자는 것이다. 그것이 객체 지향이고 Java는 객체 지향을 가장 잘 나타내는 언어들 중 하나로 대표되고 있다. 이러한 객체 지향에는 다음과 같은 4가지 특성이 있다. 상속(Inheritance) : 재사용 추상화(Abstraction) : 모델링 캡슐화(Encapsulation) : 정보 은닉 다형성(Polymorphism) : 사용 편의 클래스 : 객체 클래스와 객체에 대한 이야기를 할 때 가장 많이 볼 수 있는 잘못된 예시가 있다. 바로 클래스를 공장..

Language/Java

[Java] 문자열 분리를 위한 StringTokenizer

자바는 문자열을 위한 다양한 클래스가 존재한다. 문자열을 이어 붙이기 위한 StringBuffer / StringBuilder 부터, 문자열 사이나 앞, 뒤에 구분자를 추가해주는 StringJoiner까지 그 종류는 다양하다. 그 중 java.util 의 StringTokenizer 클래스는 문자열을 토큰(token)의 형태로 나누어 처리 할 수 있도록 한다. StringTokenizer 생성자 StringTokenizer의 생성자는 다음과 같이 3가지 종류가 있다. StringTokenizer(String str) - 매개변수로 받은 문자열을 띄어쓰기 기준으로 분리. StringTokenizer(String str, String delim) - 매개변수로 받은 문자열을 두번째 매개변수로 받은 문자를 기..

Language/Summary

I/O

- Input과 Output은 JVM기준으로 실행된다. - java.io 패키지에는 Byte 기반의 데이터를 처리하기위한 Stream(InputStream, OutputStream), char기반의 데이터를 처리하기 위한 Reader, Writer 클래스가 존재한다. - JDK 1.4 부터는 NIO의 등장으로 Buffer와 Channel 기반으로 데이터를 처리하기 시작했다. 기존 방식보다 성능이 좋다. ㆍFile - File 클래스의 객체는 파일, 파일의 경로를 포함할 수 있는 클래스이다. - java7 에서 NIO2가 도입됨에 따라 java.nio.file 패키지의 Files 클래스에서 File 클래스의 메소드들을 대체하여 사용. File은 객체를 생성하여 처리해야하지만, Files 클래스는 모든 메소..

Language/Summary

Thread

ㆍThread - JVM이 시작되면 자바 프로세스가 시작이 됨. 이 프로세스 안에는 적어도 하나 이상의 쓰레드가 수행된다. - 프로세스끼리는 공유되는 자원 없이 각각 따로 메모리를 할당해주어야한다. 즉, 많은 리소스가 필요하지만 쓰레드는 상대적으로 적은 리소스가 필요하다. 따라서, 쓰레드를 '경량 프로세스'라고도 부른다. - 쓰레드를 생성하는 방법에는 크게 Runnable 인터페이스를 구현하는 것과, 이 인터페이스를 구현한 클래스인 Thread 클래스를 상속받는 두가지 방법이 있다. 이들은 모두 java.lang 패키지에 있다. - Runnable 인터페이스나 Thread 클래스를 상속받은 클래스는 run() 메소드를 구현하여 쓰레드 시작 시 수행할 작업을 지정해주어야 한다. 쓰레드의 start() 메소..

Language/Summary

Data Structure#3 - Map, Properties

ㆍMap - List, Set, Queue는 Collection 인터페이스를 구현하지만, Map은 Collection 인터페이스를 구현하지 않는다. - Set의 자료구조는 키(Key), 값(Value)으로 이루어져 있으며, Key의 중복을 허용하지 않는다.(값이 중복되는 것은 전혀 상관없다.) Map 인터페이스의 메소드 put(K Key, V value) : 키, 값이 쌍을 이루는 데이터를 저장. putAll(Map

KAispread
'Language' 카테고리의 글 목록 (2 Page)