Programming (163) 썸네일형 리스트형 [VS Code] 클래스 객체의 Getter / Setter 쉽게 생성하기 Getter and Setter Generator 익스텐션을 설치해야 한다. 설치방법 Ctrl + Shift + X 또는 왼쪽 메뉴를 마우스 커서로 클릭해서 Extensions로 이동한다. "getter"를 검색한다. (아마도) 상단에 검색되는 Getter and Setter Generator를 설치한다. 사용방법 #1 / Getter,Setter 생성하고자 하는 필드 드래그 사용방법 #2 / Ctrl + Shirt + P 또는 F1키를 눌러 명령어 입력 창 소환 사용방법 #3 / 입력창에 "get" 입력 후 "Generate Getters and Setters" 클릭 사용방법 #4 / 해당 필드에 대한 Getter, Setter 메소드 생성 완료 참고 https://wings2pc.tistory.com.. [객체 지향] 상속보단 조립 상속을 통한 기능 재사용 시 다음과 같은 문제가 발생할 수 있다. 상위 클래스 변경이 어렵다. 클래스가 증가한다. 상속을 오용할 수 있다. 상위 클래스의 변경이 어렵다. 상속 관계에서 상위 클래스가 변경되면 상위 클래스를 상속한 하위 클래스들에 영향을 미친다. 상위 클래스 입장에서 앞으로 어떤 하위 클래스가 추가될지 알 수 없기 때문에 하위 클래스가 많아질수록 상위 클래스의 변경이 어려워진다. 또한 상위 클래스가 어떻게 동작하는지 잘 숙지하고 있어야 하위 클래스가 기능을 재사용할 수 있는데, 이는 상위 클래스는 하위 클래스에 대한 캡슐화(기능을 드러내고 구현을 감춤)가 약해진다고 할 수 있다. 클래스가 증가한다. 프로젝트 규모가 커지고 기능이 추가될 수 있다. 이런 변화에 따라 새로운 기능 추가/구현을 .. [객체 지향] 다형성과 추상화 다형성(Polymorphism) 여러(poly) 모습(morph)을 가지는 것. 객체 지향에서는 여러 동작을 수행하는 단일 객체를 의미한다. 일반적으로 부모 객체를 자식 객체가 상속하는 방식으로 다형성을 구현하는데, 동일한 이름의 부모 객체 메서드를 자식 객체 특성에 따라 같은 이름이지만 다른 동작 방식으로 구현할 수 있다. public class Timer { public void start() { ... } public void stop() { ... } } public interface Recharegeable { void charge(); } public class IotTimer extends Timer implements Rechargeable { public void charge() { .... [객체 지향] 캡슐화 연습 연습1 아래 코드는 id와 pwd값을 통해 계정의 유효성을 판단하는 코드이다. public AuthResult authenticate(String id, String pwd) { Member member = findOne(id); if(member == null) return AuthResult.NO_MATCH; if(member.getVefiricationEmailStatus() != 2) { return AuthResult.NO_EMAIL_VERIFIED; } if(passwordEncoder.isPasswordValid(member.getPassword(), pwd, member.getId())) { return AuthResult.SUCCESS; } return AuthResult.NO_MATCH.. [객체 지향] 캡슐화(Encapsulation) 캡슐화는 다음과 같다. 데이터와 관련 기능(메서드)을 하나로 묶는다. 객체가 어떻게 기능을 구현했는가를 외부에 감춘다.(구현 상세 내용 감춤) 이를 통해 외부 영향 없이 객체 내부 구현 변경 가능 캡슐화를 하지 않으면 코드 작성 이후 추가적인 요구사항에 의한 데이터 구조/사용 변경에 유연하게 대처하기 어렵다. 예를 들어 날짜 표현 방식을 Date에서 LocalDateTime으로 변경하려면 기존 Date 클래스 메소드를 사용하는 모든 코드를 LocalDateTime 메소드 형식으로 교체해야 하기 때문에(연쇄적으로 변경이 전파된다) 프로젝트 규모가 클수록 부담스러운 일이 된다. 이런 문제 때문에 객체 지향에서는 데이터 접근을 객체에 속한 메서드를 통해서만 할 수 있도록 한다. 캡슐화를 통해 기능을 제공하고 .. 절차지향과 객체지향 절차 지향 절차 지향은 하나의 큰 프로그램을 여러 개의 작은 프로시저(procedure_절차)들로 나누는 것을 목표로 한다. 프로시저는 서브 프로그램(subprogram), 서브루틴(subroutine), 메서드(method), 함수(function)등의 여러 이름이 있다. 절차 지향에서 프로그램 코드는 함수(function)라 불리는 프로시저들의 집합으로 구성되어 있다. 이 함수들은 변수(variable)라 불리는 데이터에 의해 동작한다. 절차지향 프로그래밍은 구조적 프로그래밍(structured programming)에서 유래되었다. 구조적 프로그래밍은 명령형 프로그래밍에서 파생된 개념이다. 절차지향 프로그래밍의 기본 개념 절차 지향 또는 절차적 프로그래밍이라고 부른다. 앞서 언급 했듯이 절차지향 프.. [Spring Boot] Maven 설치하기 Maven은 빌드 툴이다. 빌드: 프로젝트 생성, 라이브러리 설정, 코드 작업, 컴파일, 테스트, 패키지 생성, 배포 등의 과정을 일컫는 말. Step.1_Maven 최신 버전 다운로드 아래 링크로 이동하면 Maven 최신 버전을 다운로드한다.(Link의 bin.zip 파일을 다운로드) https://maven.apache.org/download.cgi Maven – Download Apache Maven Downloading Apache Maven 3.8.3 Apache Maven 3.8.3 is the latest release and recommended version for all users. The currently selected download mirror is https://dlcdn.ap.. [Spring Boot] Log Level 설정을 통해 디버깅 하기 Spring 동작 방식을 간단하게 구현한 샘플 예제인 spring-petclinic을 기준으로 한다. 프로젝트의 세부 동작 과정을 파악하려면 Log를 살펴봐야 한다. Spring Boot의 기본 설정에 의한 Log 출력 내용은 아래와 같다. 출력된 Log 내용 구성은 다음과 같다.(왼쪽 -> 오른쪽 순서) 시간 및 날짜 로그 레벨 프로세스 아이디 구분자( --- )를 사용해 이후의 내용부터 로그 메시지임을 알림 스레드 이름: []를 이용해 구분 로거 이름: 일반적으로 소스 클래스 이름 표시 로그 메시지 Log Level 설정 src/main/resources/application.properties에서 Log Level 설정이 가능하다. 위 이미지는 원래 주석 처리되어 있던 DEBUG 레벨에 대한 주석을.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 21 다음