이직준비/CS 6

객체지향의 설계 원칙 5가지 (SOLID)

SOLID 클린코드로 유명한 로버트 마틴이 좋은 객체 지향 설계의 5가지 원칙을 정리 SRP : 단일 책임 원칙 ( single reponsibility principle) OCP : 개방-폐쇄 원칙 ( Open/ closed principle) LSP : 리스코프 치환 원칙 (Liskov substitution principle) ISP : 인터페이스 분리 원칙 (Interface segregation principle) DIP : 의존관계 역전 원칙 (Dependency inversion principle) SRP : 단일 책임 원칙 ( single reponsibility principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. 클 수도 있고, 작을 수도 있으며..

이직준비/CS 2022.07.28

객체 지향의 특징 ( 추상화/ 캡슐형/ 상속/ 다형성)

1. 추상화 불필요한 부분을 제거한다. 인터페이스와 구현을 분리한다. 2. 캡슐형 데이터 캡슐화 : 필드와 메서드를 하나로 묶는 것 은닉화 : 객체의 세부내용이 외부에 드러나지 않도록 private으로 접근제한을 두어, 외부에서 데이터를 직접 접근하는 것을 방지한다. 3. 상속 https://hyun-1200.tistory.com/98 상속(inheritance) / 포함(Composite) 관계 상속 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 장점 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성을 높이고 유지보수를 편리하게 한다. 사용법 - exte hyun-1200.tistory.com 4. 다형성 https://hyun-1200.tistory.com/103 다형성(..

이직준비/CS 2022.07.28

JVM의 메모리 구조

자바 가상 기계 java virtual machine JVM은 java가 OS에 구애받지 않고, 재사용을 가능하게 해주고, 메모리관리, Garbage collection 을 수행하여 한정된 메모리를 효율적으로 사용해서 최고의 성능을 낸다. 스택 기반이다. 자바 프로그램 실행 과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받는다. (JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 자바컴파일러 (javac)가 자바 소스코드 (.java) 를 읽어들여 자바 바이트코드 (.class)로 변환시킨다. ( .java -> .class ) Class Loader를 통해 class파일을 JVM으로 로딩한다. 로딩된 파일들은 Execution engine을 통해 해..

이직준비/CS 2022.07.28

클린코드란?

: 가독성이 좋은 코드. 더 좋은 코드가 되기 위해서 코드리뷰를 하면 좋음 함수명을 통해 함수가 무엇을 하는지 바로 알수 있어야 한다. 함수 안에는 하나의 행동만 한다. 함수는 동사+명사이며, 변수는 명사이며 의미있는 이름인지 중복코드를 줄인다. (하드코딩 줄이기 ) 클린코드를 통해 유지보수 하기 좋은 코드가 될 수 있다. 함수안에서만 쓰이는 변수는 전역변수 대신 지역변수 전역변수 사용 줄이기 여러개발자가 함께 하는 프로젝트에서 확장성 있는 코드사용을 통해 프로젝트 협업능력 향상

이직준비/CS 2022.07.28

접근제한자 (public / protected/ default/ private )

접근제어자(접근을 제어하는 것) 를 통해 위험 요소를 줄일 수 있다. public, protected, default, private Public :어떤 클래스에서도 제한 없이 사용할 수 있는 접근제어자 Protected : 같은 패키지 안에 있거나 다른 패키지의 경우 상속관계의 클래스에서만 사용할 수 있는 접근제어자 Default : 같은 패키지 안에서만 사용 할 수 있다. 다른 패키지면 상속관계 여부 상관없이 사용불가. Private : 같은 클래스 안에서만 사용 가능 (cf. 패키지 > 클래스 ) Public Protected Default Private 같은 패키지, 같은 클래스 O O O O 같은 패키지, 상속관계 O O O X 같은 패키지, 상속관계 X O O O X 다른 패키지, 상속관계 O..

이직준비/CS 2022.07.28

DataBase의 인덱스 (Index) 란?

- 인덱스는 데이터베이스 분야에 있어서 테이블에 대한 동작의 속도를 높여주는 자료 구조를 일컫는다. - 인덱스로 데이터의 위치를 빠르게 찾아주는 역할을 합니다. - 사용자는 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 인덱스를 생성하고 사용한다. 1. DB 인덱스(INDEX) 란? 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조 책 앞에 있는 목차라고 생각하면 이해하기 쉽습니다. 수천 장이 넘아가는 책 내용에서 원하는 정보만 빠르게 찾을 수 있는 이유도 목차가 있기 때문입니다. 마찬가지로 DB 테이블에 많은 양의 데이터를 모두 확인하면서 원하는 데이터를 찾는 것은 매우 비효율적인 일입니다. 데이터베이스도 목차처럼 데이터와 데이터 위치를 포함하는 자료구조를 통해 데이터 조회를 빠르게..

이직준비/CS 2022.07.28