Programming Language/언어 기본(3)
-
객체 지향 설계 5원칙 - SOLID
높은 응집도와 낮은 결합도, 관심사의 분리를 위해 1. SRP(Single Responsibility Principle) : 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나 뿐이다. 2. OCP (Open Closed Principle) : 개방 폐쇄 원칙 소프트웨어 엔티티는 확장에 대해서는 열려 있어야 하지만 변경에 대해서는 닫혀 있어야 한다. 3. LSP (Liskov Substitution Principle) : 리스코프 치환 원칙 서브 타입은 언제나 자신의 기반 타입으로 교체할 수 있어야 한다. 4. ISP (Interface Segregation Principle) : 인터페이스 분리 원칙 클라이언트는 자신이 사용하지 않는 메서드에 의존 관계를 맺으면 안 된다. 인터페이스는 그 역..
2021.10.18 -
객체지향의 특성
1. 추상화 2. 캡슐화 3. 상속 4. 다형성 1. 추상화 관심 대상들로부터 공통적인 기능, 특성들을 추출해 한 곳에 모은 것. 프로그래밍에서는 객체들로부터 공통의 메소드/특성을 뽑아 인터페이스/추상클래스 등으로 정의하는 것을 의미한다. 자바의 경우를 예로 들면, 인터페이스와 추상 클래스가 해당이 된다. 대표적인 인터페이스인 Collection은 (https://docs.oracle.com/javase/7/docs/api/), set, list, queue 등 여러 개의 객체를 하나의 객체에 담아 처리하는 클래스들의 공통 메서드들을 선언하였고, 해당 클래스들은 Collection의 메서드들을 구현함으로써 그에 해당하는 기능을 수행할 수 있다. 2. 캡슐화 함수 혹은 특성들을 하나의 단위로 묶어 처리하는..
2021.08.13 -
Parameter VS Argument
컴퓨터가 존재하고 인류가 코딩을 하지 않을 순간까지, parameter와 argument는 사람들에게 영원히 헷갈리는 존재로 남을 것이다. 세기의 대결. Parameter VS Argument. 어떻게하면 외우기 쉬울까 하고 생각하다가, 다음과 같이 외우면 기억하기 편하다는 생각이 들었다. Parameter (매개 변수) int sum(int a, int b) { int c = a + b; return c; } parameter를 한글로 풀이하면 매개 변수, 즉 함수 내에 있는 a와 b는 "매개 변수"이다. 함수 내에서 변수로 돌아댕기며, parameter == 매개 변수 라고 머리에 확실히 외워 놓으면 편하다. Argument (전달 인자) int result = sum(1, 2); argument는 ..
2021.06.18