울음참고 개발공부
단위 테스트 vs 통합 테스트
Spring & Spring Boot 2023. 4. 25. 19:52

단위 테스트 [ 정의 ] 단위 테스트는 앱의 작은 단위(일반적으로 메서드)를 사용하여 코드의 나머지 부분에서 격리하고 예상대로 작동하는지 확인한다. 스프링 컨테이너 없이 하는 순수한 테스트라고 할 수도 있다. [ 예시 ] 회원가입을 위한 테스르를 예시로 살펴보자 class MemberServiceIntegrationTest { MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach public void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberServ..

Java | 추상클래스 vs 인터페이스
Java 2023. 4. 23. 20:39

추상클래스(Abstract class) 미완성 설계도 추상 메서드를 선언하여 상속을 통해 자손 클래스에서 완성하도록 유도하는 클래스 [ 특징 ] 추상 메서드를 하나 이상 포함하고 있다. 추상 클래스는 추상 메서드 뿐만 아니라 생성자,필드,일반 메서드도 포함할 수 있다. 상속을 위한 클래스이기 때문에 따로 객체를 생성할 수 없다. 다중상속이 불가능하다. [ 예시 ] public abstract class Computer { public abstract void display(); public abstract void typing(); public void turnOff() { system.out.println("전원 off"); } } Computer 라는 추상 클래스 내에는 추상 메서드 display()..

Java | extends, implements
Java 2023. 4. 23. 20:38

extends 일반 클래스와 abstract 클래스 상속에 사용 부모의 메서드를 그대로 사용할 수 있으며 오버라이딩 할 필요 없이 부모에 구현되어 있는 것을 직접 사용 가능 implements interface 상속에 사용 부모 객체는 선언만 하며 정의(내용)은 자식에서 오버라이딩(재정의)하여 사용해야함

Java | 생성자 new
Java 2023. 4. 23. 18:28

생성자 [ 사용 예시 ] 클래스 객체 변수 = new 클래스(); [ 역할 ] 클래스 타입의 인스턴스(객체) 생성 객체를 생성할 때, new 키워드와 함께 사용 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출됨 반환 값이 없고, 생성자 이름은 클래스 이름과 동일함 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private 로 선언되는 경우도 있음 new 선언하면 인스턴스가 생성되고 메모리에 할당됨 [ 출처 ] https://blog.naver.com/obndo8539/222892728269 생성자, 예약어 this, get()함수,set()함수 생성자 객체를 생성할 때, new 키워드와 함께 사용 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생... ..

article thumbnail
Git | 브랜치 변경 master -> main 오류 ! [rejected] main -> main (non-fast-forward)
Git 2023. 4. 22. 15:50

main 에 올리고 싶은데 master 브랜치를 생성하여 그곳에 push 를 해버렸다. 첫번째, 수정하려는 파일 선택 후, git bash 로 열기 gitbash 를 이용하여 진행하기 때문에, 변경하고자 하는 프로젝트의 파일 또는 폴더를 선택 후, 마우스 우클릭하여 'gitbash로 열기' 클릭 두번째, 브랜치 확인 및 변경 -> branch 를 전환하는 checkout 명령과는 다름 !! 현재 내가 있는 브랜치는 master 브랜치이다. 브랜치를 변경해 준뒤, 다시 확인해 보면 main 으로 와있다. 세번째, main 에서 pull & push 이때, pull 먼저 진행하고, push 를 진행해주어야한다. ! [rejected] main -> main (non-fast-forward) 오류 발생 [ 원..

article thumbnail
Git | 로컬에 있는 프로젝트 GitHub 에 올리기
Git 2023. 4. 22. 14:35

1. 레파지토리 생성 github 에서 레파지로티 생성 2. 로컬에서 git에 올릴 파일 선택 3. git bash 를 사용한 초기설정 및 파일 업로드 #초기 설정 git config --global user.name "유저이름" git config --global user.email "유저 이메일" git init #.git 파일 생성 git add . git status #상태확인 git commit -m "커밋 메시지" # 업로드 git remote add origin 레파지토리 주소 git push -u origin master 수정 : git push -u origin master -> git push -u origin main ( 현재 기본 브랜치는 main 이기 때문에 master 브랜치에 ..

article thumbnail
코딩테스트입문 > 옷가게 할인 받기 java
카테고리 없음 2023. 4. 21. 22:49

https://school.programmers.co.kr/learn/courses/30/lessons/120818 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(double price) { double answer = 0; if(price >= 500000){ answer = price*0.8; }else if(price >= 300000){ answer = price*0.9 }else if(price >= 100000){ answer = price*0..

모듈, 모듈화
CS 용어 및 개념 2023. 4. 20. 19:04

모듈 - 프로그램을 구성하는 시스템을 기능 단위로 독립적인 부분으로 분리한 것- 모듈은 다양한 형태로 존재할 수 있음 -> 용도가 비슷한 함수나 추상화 된 자료, 객체(Object), 메서드(Method) 등- 모듈이 되려면 다른 것들과 구분될 수 있는 독립적인 기능을 가져야하고 유일한 이름을 사용해야함  모듈화 - 어떤 시스템의 구성요소가 분리되고 재결합 할 수 있는 정도