분류 전체보기

    질문 하는 방법

    질문 하는 방법 Context(상황 인식) : 현재 이 문제를 어떻게 질문하게 되었는지 알려주세요. 내가 무엇을 하려고 했고, 왜 이문제에 봉착하게 되었는지.. 개발 환경(운영체제, 개발도구, 버전 등)은 어떻게 되는지? Problem(문제) : 어떤 문제를 겪고 있는지 구체적으로 적어 주세요. 실행한 결과 화면, 에러 메시지나 로그 등은 문제 해결에 큰 도움이 됩니다. Solution(해결 방법) : 이 문제를 해결하기 위해 시도해 본 방법, 재현 가능하다면 재현하는 방법 등을 적어주세요. 이는 답변자가 해결 방법을 제시하기 위해 소모되는 비용을 줄여줍니다. Action(행동) : 질문/답변 과정에서 변경된 점이나 진행상황, 다음 사람을 위한 노하우 등을 적어 주세요. 다른 분들이 동일한 질문을 하지 ..

    책임, 위임, 협력

    책임, 위임, 협력 메시지 전송(메시징) 메시징의 의미는 객체가 또 다른 객체의 public method 통해 어떠한 행위를 하라고 명령하는 것으로 필요하다면 데이터를 담아서 보낼 수도 있다. 왜 메시징을 보내야 할까? 한 클래스 안에서 다 해결하면 안 되는 것인가? SOLID의 SRP원칙 에 의해 하나의 클래스는 하나의 책임만 갖도록 설계해야 한다. 그렇기 때문에 자신이 못하는 것을 누군가 대신 해주 길 원할 때, 그것을 해줄 수 있는 객체에게 메시징을 하는 것이다. 덧붙이자면 이것을 행위의 책임을 위임했다 해서 위임이라 한다. 메시지 전송(메시징)은 메시지에 수신자가 더해진 형태이다. 오퍼레이션명은 메소드명을 말함 dog.drink(water); // 풀이해보자면 밑을 보자. dog .drink (w..

    자바 네이밍 규칙

    자바 네이밍 규칙 클래스 이름 클래스 이름은 파스칼 표기법(pascal case)을 따릅니다. -> 모든 단어의 첫번째 문자를 대문자로 시작하고 나머지는 소문자로 표시 ex) 클래스명 예시 public class HelloWorld { } 변수 이름 변수 이름은 카멜 표기법(camel case)을 따릅니다. -> 첫번째 단어는 전부 소문자 표시하고, 이후 각 단어는 첫번째 문자는 대문자로 나머지는 소문자로 표시 ex) 변수명 예시 int englishScore; 메소드 이름 메소드 이름은 카멜 표기법(camel case)을 따릅니다. -> 첫번째 단어는 전부 소문자 표시하고, 이후 각 단어는 첫번째 문자는 대문자로 나머지는 소문자로 표시 -> 메소드는 동작에 관련된 내용이므로 첫 단어는 동사로 시작합니다..

    Java Style Guide

    Java Style Guide 패키지 이름은 소문자로 구성 나쁜 예시 package com.navercorp.apiGateway package com.navercorp.api_gateway 좋은 예시 package com.navercorp.apigateway 소스파일당 1개의 탑레벨 클래스를 담기 나쁜 예시 public class LogParser { } class LogType { } 좋은 예시 public class LogParser { // 굳이 한 파일안에 선언해야 한다면 내부 클래스로 선언 class LogType { } } static import에만 와일드 카드 허용 나쁜 예시 import java.util.*; 좋은 예시 import java.util.List; import java.uti..