접근 제어자(Access Modifier)는 객체 지향 프로그래밍에서 클래스, 메서드, 변수 등의 접근 수준을 제어하기 위해 사용되는 키워드이다. 접근 제어자를 통해 외부에서 해당 멤버에 접근할 수 있는 범위를 지정할 수 있다. 이를 통해 데이터 캡슐화와 정보 은닉을 실현할 수 있으며, 자바에서는 주로 네 가지 접근 제어자가 있다. public접근 범위: 모든 클래스설명: public으로 선언된 멤버는 모든 클래스에서 접근 가능하다. 패키지나 클래스에 상관없이 어디서든 접근할 수 있다. protected 접근 범위: 동일 패키지, 서브클래스설명: protected로 선언된 멤버는 같은 패키지 내의 다른 클래스와 다른 패키지에 있는 서브클래스에서 접근 가능하다. 즉, 상속을 통해 접근 범위를 넓힐 수 있..
목차 흔히 애자일 방법론이라 불리는 애자일 프로세스는 특정한 하나의 방법론을 가리키는 것이 아니다. 애자일(Agile = 기민한, 재빠른)한 개발을 하도록 도와주는 다양한 방법론 전체를 아우르는 단어라고 보는 게 정확하다. 이에 대해서는 위키백과에 너무도 상세하게 정리가 되어있으므로, 나는 필요한 부분만 정리하는 걸 목표로. Background 애자일 프로세스의 등장 배경에는 기존에 사용되던 폭포수 방법론에 대한 회의가 있다. 다른 말로는 소프트웨어 개발과 다른 공학의 프로세스 사이의 큰 차이점에 대한 인지가 있다고 볼 수도 있다. 소프트웨어 개발은 유동적이고, 개방적이며, 고객의 요구사항은 자주 바뀌어 예측 가능하지가 않다. 따라서 제한된 시간과 비용 안에서 불완전한 정보와 예측 불가능한 변경사항만을 ..
정수 n개가 들어있는 리스트가 주어졌을 때 그 합을 반환하는 함수를 정의하는 문제이다. 안 그래도 슬슬 클래스나 함수에 대해 공부할 때가 되었다고 느끼고 있었는데, 마침 시작이 쉽고 좋다. 함수의 특징이나 세세한 사항에 대해서는 다른 쪽에 글을 파기로 하고, 일단 파이썬의 함수 정의는 아래와 같이 매우 간결하다. def solve(a): return sum(a) 이게 그대로 문제의 답이 된다. 함수를 정의할 때조차 매개변수의 자료형을 명시하지 않아도 된다. 이는 오버로딩 측면에서 굉장히 객체지향적이라 느껴졌다.
Spring MVC - Controller + Service [Spring]Spring MVC [Spring]Spring MVC - Controller 클래스 구조 생성 및 설계 [Spring]Spring MVC - Controller 클래스에 핸들러 메서드(Handler Method) 구현 [Spring]Spring MVC - Controller 클래스에 ResponseEntity 적용 [Spring]Spring MVC - Controller 클래스에 DTO 적용 [Spring]Spring MVC - DTO 유효성 검증(Validation) [Spring]Spring MVC - DI를 통한 API 계층 ↔ 서비스 계층 연동 [Spring]Spring MVC - 매퍼(Mapper)를 이용한 DTO 클래스..
지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀어쓰면 의존성 주입이며, 객체 간의 의존관계가 소스코드 외부의 설정에 의해 정해지는 방식이라고 할 수 있다. https://gnidinger.tistory.com/450?category=992842 [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는..
Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 표준프레임워크의 기반 기술로도 쓰이도 있다. 엔터프라이즈급 애플리케이션 - 기업을 대상으로 하는, 대규모 데이터와 트랜잭션 처리가 이루어지는 앱 Framework(프레임워크) 특정 목적을 위해 설계된 구조 혹은 뼈대 소프트웨어의 설계와 구현을 위해 재사용이 가능한 일련의 클래스와 라이브러리를 제공하는 것 앱 개발을 위한 기초 프로그램이자 반제품 Framework = Design Pattern(재사용 가능한 솔루션) + Library, 즉 라이브러리를 포함한 개념 Library와 Framew..
Set Set 인터페이스를 구현할 앞으로의 모든 Set 컬렉션 클래스는 다음과 같은 공통점을 갖는다. 데이터의 순서가 유지되지 않는다. 데이터의 중복 저장을 허용하지 않는다. Set 컬렉션에 속하는 클래스는 다음과 같다. HashSet TreeSet 또한, 위 클래스에서 공통으로 사용할 수 있는 메서드는 다음과 같다. 추가로, 앞서 살펴보았던 List 클래스와 마찬가지로 컬렉션 인터페이스의 메서드를 상속받아 사용한다. HashSet HashSet 클래스는 Set 클래스 중에 가장 많이 사용되는 클래스이다. Set 인터페이스를 물려받아 데이터의 순서가 유지되지 않고, 중복 저장을 허용하지 않는다. 해시 알고리즘(Hash Algorithm)을 사용하여 검색 속도가 매우 빠르다는 장점이 있으며, 내부적으로는 ..
Iterator는 반복자라는 뜻을 갖는다. 컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할을 하며, Collection 인터페이스 안에는 iterator 인터페이스의 iterator()메서드가 정의되어 있다. 즉 iterator()를 호출하면 Iterator 타입의 인스턴스가 반환된다. 따라서 List와 Set 인터페이스를 구현한 클래스들은 공통으로 iterator() 메서드를 사용할 수 있다. iterator()를 통해 만들어진 인스턴스는 아래의 메서드를 사용할 수 있다. next()메서드를 사용시 hasNext()를 통해 다음 객체가 있는지 확인하는 것이 좋다. 구체적인 사용 방법은 다음과 같다. List list = ...; Iterator iterator = list.iterator(); whi..
제네릭(Generic) 제네릭(Generic)은 '일반적인'이라는 뜻을 지니고 있다. 자바에서 제네릭이란 타입을 내부에서 지정하는 것이 아닌 외부에서 사용자가 지정하는 것을 말한다. 필요에 의해 지정할 수 있는 일반(Generic) 타입을 사용한다는 의미이다. 예를 들면, 아래 Basket 클래스는 오직 String 타입만을 저장할 수 있다. 따라서 여러 타입의 데이터를 저장할 수 있는 객체를 만들려면, 그 수만큼 클래스를 생성해야 한다. class Basket { private String item; Basket(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item..
지난 글에 이어서 조금 더 긴 코드로 인터페이스의 장점에 대해 알아보자. 상황은 다음과 같다. 카페를 운영하는 사람이 있다. 단골은 매일 같은 음료만 먹는다 단골손님 A는 아이스 아메리카노를 먹는다. 단골손님 B는 딸기라떼를 먹는다. 위와 같은 내용을 코드로 옮겨보면 다음과 같을 것이다. class CafeCustomer { public String CafeCustomerName; public void setCafeCustomerName(String CafeCustomerName) { this.CafeCustomerName = CafeCustomerName; } } class CafeCustomerA extends CafeCustomer { } class CafeCustomerB extends CafeC..
- Total
- Today
- Yesterday
- 맛집
- 백준
- 세모
- 중남미
- 유럽
- 유럽여행
- 리스트
- 야경
- a6000
- java
- 동적계획법
- 알고리즘
- Python
- 면접 준비
- 칼이사
- 지지
- 남미
- Backjoon
- 자바
- 스트림
- 세계여행
- 스프링
- Algorithm
- RX100M5
- 여행
- BOJ
- 세계일주
- spring
- 기술면접
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |