목록[백엔드] (110)
개발자로 후회없는 삶 살기
서론※ 과거에 기록한 내용에서 중요한 부분만 발췌하여 모두가 이해하기 쉽게 다시 서술한다. 본론- 추상 클래스란?public abstract class Car { public abstract void drive(); public abstract void stop();}추상 메서드를 가지는 클래스로, 추상 메서드를 가지는 것 외에는 일반 클래스와 다른 게 없다. 추상 메서드란 함수 원형만 있고 코드 블럭 내부는 비어 있는 메서드를 의미한다. 이제부터 추상 클래스와 추상 메서드를 왜 사용하고 어떠한 특징을 가지고 있는지 알아보자 -> 추상 클래스가 되는 조건 ✅1. 부모 클래스로서 추상 메서드를 가짐2. 자식 클래스인데 부모인 추상 클래스의 추상 메서드를 구현하지 않고 추상 메서드로 유지함추상 클..
서론※ 과거에 기록한 내용에서 중요한 부분만 발췌하여 모두가 이해하기 쉽게 다시 서술한다. 본론- 상속이란?부모 클래스의 멤버를 자식 클래스에서 사용할 수 있도록 물려 주는 것으로, 단어 뜻과 유사한 방식으로 동작한다. 실제로, 부모 클래스에 작성한 필드와 메서드를 자식 클래스에서 작성한 것처럼 사용할 수 있다. public class Animal { protected String color; private String name; protected void speak() { System.out.println("동물이 어떻게 말한다."); }}public class Lion extends Animal {}자식인 Lion이 Animal을 상속 받는 코드이다. Lion에는 코..
서론※ 과거에 공부한 내용에서 중요한 부분만 발췌하여 모두가 이해하기 쉽게 다시 서술한다. 본론- 접근 지정자-> 접근 지정자의 목적public class A { public int a; protected int b; int c; private int d;}자바는 객체 지향 언어로 캡슐화, 추상화, 상속화, 다형화라는 특징을 가진다. 그 중 캡슐화를 만족하기 위해 접근 지정자를 사용한다. 캡슐화란 클래스를 하나의 캡슐처럼 외부와 독립된 공간으로 보고 외부와 적절히 상호작용하는 것을 목표로 한다. 외부와 적절히 상호 작용을 하기 위해선 데이터의 I/O가 있어야 하는데 접근 지정자를 사용하면 클래스 내부 데이터의 접근 권한을 조절하여 데이터의 흐름을 제어할 수 있다. -> 종류publi..
서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/744 김영한의 실전 자바 - 인프런 | 로드맵 Java, 객체지향 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 - 패키지 동일한 이름의 모듈이 있는 경우 둘 중 하나는 전체 경로를 작성해야 하는 데 보통 자주 사용하는 것을 import하고 가끔 사용하는 것을 전체 경로로 합니다. 패키지 이름은 회사의 도메인 이름을 거꾸로 사용한 것입니다. com.company.myapp은 com이 나오고 회사가 나오고 회사의 app입니다. 예를 들어 네이버 지도면 com.naver.map이 관례입니다. 개발을 할 때 외부 회사 라이브..
서론 개인적으로 공부하고 있는 우아한 테크코스 로또 문제에서 발생한 소수점 계산 문제를 해결합니다. 본론 - float과 double의 문제점 float와 double은 정확한 값이 아닌 근삿값을 담고 있는 문제가 있습니다. -> 고정 소수점과 부동 소수점 1) 고정 실수를 부포비트, 정수부, 소수부로 나누고 자릿수를 고정하여 실수를 표현하는 방식입니다. ex) 7.75 = 111.11(2) 7.75는 실수를 2진수로 변환하면 111.11이 되는데 이를 정수부와 소수부로 나눠서 담아 표현합니다. 구현법이 간단하지만, 자릿수 제한이라는 단점이 있습니다. 2) 부동 실수를 부호부, 가수부, 지수부로 나누는 방식입니다. ex) 12.3456 = 0.123456 * 10^2 12.3456를 0.123456 * ..
서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/course/the-java-code-manipulation 더 자바, 코드를 조작하는 다양한 방법 - 인프런 | 강의 여러분이 사용하고 있는 많은 자바 라이브러리와 프레임워크가 "어떻게" 이런 기능을 제공할 지 궁금한적 있으신가요? 이번 강좌를 통해 자바가 제공하는 다양한 코드 또는 객체를 조작하는 방 www.inflearn.com 본론 바이트 코드를 조작하는 예제를 들어보겠습니다. - 코드 커버리지 현재 신청이 꽉 찼는지 확인하는 메서드가 있습니다. max가 0이면 무한대로 신청을 받는 것이고 현재 신청 수가 max보다 적어도 full이 아닙니다. 이에 대한 테스트 코드를 작성합니다. 코드 커버리..
서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/course/the-java-code-manipulation 더 자바, 코드를 조작하는 다양한 방법 - 인프런 | 강의 여러분이 사용하고 있는 많은 자바 라이브러리와 프레임워크가 "어떻게" 이런 기능을 제공할 지 궁금한적 있으신가요? 이번 강좌를 통해 자바가 제공하는 다양한 코드 또는 객체를 조작하는 방 www.inflearn.com 본론 - 자바, JVM, JDK 그리고 JRE 1. JVM 자바 바이트 코드를 어떻게 실행할지에 대한 표준 스팩으로 바이트 코드를 OS에 특화된 코드로 변환하고 실행하는 것의 표준이고 구현체입니다. ※ 바이트 코드 : java 파일을 컴파일해서 생긴 class 파일 안에..
서론 ※ 이 포스트는 다음 강의의 학습이 목표임을 밝힙니다. https://www.inflearn.com/roadmaps/149 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵 - 인프런 | 로드맵 Java, JPA 스킬을 학습할 수 있는 개발 · 프로그래밍 로드맵을 인프런에서 만나보세요. www.inflearn.com 본론 프록시가 뭔지 알아보고 프록시의 활용을 알아봅니다. 예를 들어서 멤버와 팀이 있는데 멤버를 조회할 때 팀도 db에서 조회해야 할까? 고민하는 상황입니다. try { Member member = em.find(Member.class, 1L); printMemberAndTeam(member); tx.commit(); } catch (Exception e) { tx.rollback(..