12. 자바의 상속 내부 원리 (부모의 private 변수는 자식이 직접 접근 가능할까)
부모의 private 멤버 변수는 자식이 직접 접근할 수 있을까?답은 No다. 자식 객체가 생성되면, 부모 객체는 생성 될까? 답은 Yes다 이를 검증하기 위해 코드를 짜보자. 예시코드부모 클래스123456789public class Parent { public Parent() { System.out.println("Pa
부모의 private 멤버 변수는 자식이 직접 접근할 수 있을까?답은 No다. 자식 객체가 생성되면, 부모 객체는 생성 될까? 답은 Yes다 이를 검증하기 위해 코드를 짜보자. 예시코드부모 클래스123456789public class Parent { public Parent() { System.out.println("Pa
템플릿 메서드 패턴템플릿 메서드 패턴은 특정 역할의 책임을 한 메서드에 여러 메서드를 조합*(이게 템플릿!)*으로 정해놓는 패턴이다. 템플릿 메서드를 구성하는 메서드들은 역할에 속하는 객체마다 다르게 구현될 수 있다. 활용 예시우리는 여러 DB에 연결해야 한다. 우리가 연결한 DB는 모두 다음과 같은 절차를 따른다고 하자.해당 DB드라이버 찾기 - DB에
역할, 책임, 협력하나의 프로그램을 만들기 위해서는 다양한 객체가 자신의 로직을 실행해서 전체 기능을 완성한다. 중요한 건, 다양한 객체가 한 기능을 만들기 위해 메시지 를 주고 받으며 상호작용한다는 사실이다. 이처럼 어플리케이션의 기능을 완성하기 위해 여러 객체가 상호작용하는 것을 협력이라고 한다. 각 객체들이 수행하는 자신의 로직을 책임이라고 하고, 객
우아한 테크코스 4기 프리코스 1주차1주차 문제 깃허브 링크https://github.com/woowacourse/java-baseball-precourse 문제 간단 요약우리가 흔히 아는 야구게임을 자바로 구현하는 게 1주차 문제다.세개의 수를 입력받고 해당 자릿수에 맞는 숫자를 입력한 경우 스트라이크 추가,자릿수는 맞지 않지만 맞는 숫자를 포함한 경우
자바 소스 파일 구조시작 주석 package 문 import 문 Class 혹은 Interface 선언 시작 주석모든 소스 파일은 다음과 같은 시작 주석을 써줘야 한다. 123456789/* *클래스 이름 * *버전 정보 * *날짜 * *저작권 주의 */ package문 import문일반적으로 패키지문을 먼저 쓰고, 임포트문을 다음에 써준다. 두 문
스프링 부트의 특징스프링 부트는 스프링의 복잡한 xml 간편화와 빠른 개발을 위해 등장했다.부트는 웹을 위해 필요한 필수 라이브러리를 내장하고 있다.(톰캣 등) 스타터(starter) : 특정 모듈을 사용할 수 있도록 필요한 라이브러리를 모아놓은 라이브러리 모음 자동설정(AutoConfiguration) : 추가된 라이브러리나 모듈을 사용할 수 있도록 자동
a. 링크a-1. 링크 계층 소개 링크 계층(2계층) 프로토콜을 실행하는 장치를 노드라 함. 통신 경로상의 인접한 노드들을 연결하는 통신 채널은 링크 한 링크에서 전송 노드는 데이터그램을 링크 계층 프레임으로 캡슐화해서 링크로 전송한다. a-2. 링크 계층의 서비스 프레임화 : 네트워크 계층 데이터그램을 링크상으로 전송하기 전에 링크 계층 프래임에 캡슐화.
a. 인터넷 제어 메시지 프로토콜(ICMP)호스트와 라웉터가 서로 간에 네트워크 계층 정보를 주고받기 위해 사용된다. 대표적으로 인터넷 문제 식별을 할 수 있다. ICMP는 구조적으로 IP 바로 위에 있고 IP 페이로드에 담겨 전송된다. TYPE과 CODE값으로 상태를 구분해 인식한다. a-1. ICMP 메시지 타입 b. 네트워크 관리와 SNMP적절한
a. SDN a-1. SDN 구조의 특징 플로우 기반 포워딩 : 스위치들에서 패킷 포워딩은 전송 계층, 네트워크 계층, 링크 계층 헤더의 어떤 값을 기반으로도 가능하다.IP 데이터그램의 포워딩이 온전히 목적지 주소만으로 이뤄지는 전통적 라우터 기반과는 매우 대조적. 데이터 평면과 제어 평면의 분리 : 데이터 평면은 네트워크 스위치로 구성. 이들은 자신의 플
a. OSPFa-1. 자율 시스템 (AS)확장 문제 : 수억개의 라우터가 있는데, 각 라우터의 목적지 라우팅 정볼르 저장하려면 어마어마한 메모리가 필요하다 관리 자치 문제 : ISP는 자신의 네트워크를 원하는대로 운용하거나, 네트워크 내부 구성을 외부에 감추길 원한다. 이를 자율 시스템 (AS)로 해결한다. AS는 동일한 괄리 제어하에 있는 라우터의 그룹으
데이터베이스 인덱스데이터베이스도 컴퓨터의 하드 디스크(HDD, SSD)에 데이터를 쓰거나 적는다. 랜덤 IO와 순차 IO하드 디스크 드라이브에 접근하려면 플래터를 돌려서 데이터가 저장된 위치로 헤더를 이동시켜서 데이터를 읽는다. 랜덤 IO는 읽어야 할 데이터의 위치가
문제 상황기리기리 프로젝트에서 기자재 대여 반납 기능을 중점적으로 개발하다가 광운대학교 미디어커뮤니케이션 랩실에서는 기자재 뿐만 아니라 랩실도 대여 반납을 할 수 있어야 한다는 피드백을 받았다. 문제는 랩실과 기자재 로직이 상당 부분 비슷하지만 랩실의 대여 로직이 기자
문제 상황기리기리 서비스는 대여 서비스라서 대여 기간과 실제 대여 수령 날짜, 대여 반납 날짜가 중요하다. 문제는 서버 시간대 설정에 따라 실제로 의도한 시간이 맞지 않을 수 있게 된다는 점이다. 그래서 서버를 한국 시간대로 모두 설정해주는 일이 필요하다. 이런 문제는
문제 상황광운대학교 미디어커뮤니케이션 학부 기자재 대여 웹 서비스를 구현할 때 광운대학교 미디어커뮤니케이션 학생만 사용할 수 있도록 해야한다. 하지만 문제는 광운대학교에서는 Open API를 제공하지 않아서 학생 구성원을 어떻게 확인해야 할 지가 큰 문제였다. 개선 방
요약Rest API의 HATEOAS 원칙을 적용하면 페이징 방식에 의존하지 않는 API를 구현할 수 있다. 첫 페이지에 접근할 수 있는 API만 프론트엔드에게 알려주고 다른 페이지에 접근하는 API는 첫 페이지에 접근하는 API의 응답 데이터에 동적으로 담겨있게 하자.
Software Engineering?개발 운용 유지보수 등 생명 주기 전반을 체계적, 서술적, 정량적으로 다루는 학문 SLDC요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 하는 과정 요구사항 분석요구사항 유도 : 대화를 통해 요구