자바에서는 private, public, protected, public과 같은 접근 제한자가 존재한다. 이를 통해 데이터를 외부로부터 숨기거나, 접근을 막고, 또는 접근에 처리를 강제화한다. 여기서 getter와 setter는 클래스 변수를 private으로 하고, 다른 메소드를 통해 제어하는 역할을 맡는다. private이 되면 해당 변수는 클래스 안에서만 노출되게 된다. getter getter는 다른 사람들로 하여금 사용할 필요가 있는 변수값을 가져올 수 있게 해주는 함수라고 보면 된다. 클래스 안에 private 변수 age, name이 있으면 바깥에서는 getAge(), getName()이라는 getter함수를 통해 private 변수임에도 값을 가져올 수 있게 도와주는 역할을 한다. 이렇게 ..
SOLID를 잘하는 방법으로는 스프링을 사용하는 것이라고 했는데 스프링은 웹에 SOLID의 분류, 교체를 용이하게 해주는 3계층 구조가 있다고 한다. 이는 스프링 Web MVC 에서 가장 대중적으로 활용되는 역할 분리 방법이다. (Three-Tier(Layer) Architecture qin Spring MVC) Presentation Layer(표현계층) - 웹에서 요청이 들어오는 것을 받아주는 계층이다. 외부와 통신하는 Layer이다. 거기에 Controller라는 Class를 만들어서 사용하는 것이다.(javascript로 요청된 요구사항을 Java가 읽을 수 있는 언어로 번역) 번역된 요구사항을 Service에 전달 => Service에서 전달된 값을 다시 클라이언트에 반환해주는 일을 한다. (요..
SOLID 원칙은 객체지향 프로그래밍(OOP) 및 설계의 다섯 가지 기본 원칙이다. 반드시 해야한다는 것도 아니고, 하기도 어렵지만 이렇게 만들었을 경우, 유지보수와 확장이 쉬운 시스템이 만들어진다고 한다. 물론 초보 중의 왕초보인 필자로써는 못하는게 당연하지만 연차가 쌓여가면서 이런 효율적인 시스템을 만드는 방법을 자연스럽게 깨우치게 되는데 그 때 도움이 될 수도 있으니 정리해보자. 객체지향을 잘하는 법은 SOLID를 잘하는 것이고, SOLID를 잘하는 법은 스프링을 하는 것이라고 한다.(아직은 이해못함) 각 SOLID는 크게 분류와 교체로 나눠볼 수 있다.(반드시 맞는다는 것은 아니고 이해를 돕기 위한 분류) 1. SRP(분류) : 단일 책임 원칙(Single Reponsibility Principl..
기초 수학이라 쉬울줄 알았는데 생각보다 파고들 점들이 많았으므로 따로 카테고리를 만들어 정리하게 되었다. 약수(Divisor) 어떤 수를 나누어 떨어지게 하는 수이다. 파이썬으로 약수 구하기 방법 1. 가장 단순하게 약수를 구하는 방법 이 경우, O(N)의 시간복잡도를 가지게 된다. inputNum=int(input('정수 입력: ')) print('{}의 약수는'.format(inputNum)) for num in range(1, inputNum+1): if inputNum%num==0: print(num) print('가 있습니다.') 방법 2. 해당 수의 반까지만 반복문을 진행하여 약수를 구하는 방법 예를 들어, 10의 약수는 {1, 2, 5, 10} 이다. 10을 반으로 나눈것보다 초과된 값은 절..
공부하면서 애매하게 알고있던 개념이나 용어를 정리할 것이다. 환경변수(environment variable) 우리가 띄우는 프로세스들은 크게보면 os라는 프로그램에 의해 실행되는 자식 프로세스들이다. 여기서 환경변수는 os 입장에서 해당 프로세스를 실행시키기 위해 참조하는 변수라고 보면 된다. https://nukoori.tistory.com/8 [Windows] 환경변수에 대해서 환경변수는 우리가 띄우는 프로세스들은 크게보면 os라는 프로그램에 의해 실행되는 자식 프로세스들이다. 여기서 환경변수는 os 입장에서 해당 프로세스를 실행시키기 위해 참조하는 변수라고 nukoori.tistory.com 통합개발환경(IDE=Integrated Development Environment) 소프트웨어 개발에 관련된..
필자는 C/C++, Java를 먼저 접하고, 이번에 처음 파이썬을 접한다. 자바와 비교하여 파이썬이 다른부분, 혹은 알아야 할 부분들을 중점적으로 정리할 생각이다. 일단 코딩테스트용으로 입문한 것이므로 깊게는 파고들지 않을 예정이다. 파이썬은 기본적으로 설치하면 cmd에서도 python 치면 열 수 있고, IDLE(아이들)이라고 파이썬 통합개발환경이 같이 설치된다. 파이썬은 코딩할 수 있는 편집기가 2개 설치된다.Shell모드는 cmd에서 열었던 것과 같이 간단한 코딩테스트용 툴이라고 보면 된다. 실제 프로그램을 만들지는 못한다. 파이썬 코드 편집기는 우리가 VSC나 IntelliJ에서 하듯이 코드를 여러줄 짤 수 있다. Shell 모드에서 New를 누르면 코드 에디터가 나온다. 여기서 만든 코드 실행은..
필자는 전공자로써 1학년때는 C, 이후에는 C++로 과제를 진행해왔었다.(물론 친숙하다뿐이지 잘은 못했다) 현재는 벡엔드 개발자를 목표로 Java를 공부하고 있다. 필자의 고민은 Python, Java, C++중 어느 언어로 코딩테스트 공부를 진행할지이다. 코딩테스트 공부야 방학때 이거라도 해볼까 싶어서 찔끔거린 기억은 있지만 제대로 공부해본 기억은 없기에, 이번에 빡세게 공부하면서 코딩테스트 주력 언어를 진지하게 고민하게 되었다. 우선 각 언어에 대한 필자의 생각은 1. C/C++ - 과거에 가장 많이 사용했던(그래봤자 과제지만) 언어로써 깊이있게 공부한 편은 아니지만 가장 친숙하게 다가오는 언어. 과거 코딩테스트 공부를 찔끔해볼 때도 파이썬으로 할 경우, 시간이나 공간 문제에서 통과하지 못하는 경우가..
잘 쓰이거나 유용할 것 같은 단축키 및 자동완성함수들을 기록해둘 예정이다 자동완성함수 아래를 입력 후 tab 혹은 나온것에서 엔터, 직접클릭하면 된다. 자동완성함수 뜻 sout System.out.println(); soutv System.out.println("변수명 = " + 변수명); 같이 포맷을 맞춰준다. fori for(int i=0;i find usage(모든참조찾기)도 가능. ctrl + alt + ↑ ctrl + alt + ↓ 앞으로 탐색, 뒤로 탐색 shift + enter 커서가 어디에 있든 새로운 줄을 만들어 다음줄로 넘어감. tab 다음 내용 입력하는 곳으로 넘어감. 자동완성이 아닌 직접 입력시 괄호 바깥으로 나갈 수 있음. ctrl + alt + o import문 최적화 ctrl ..