본문 바로가기

분류 전체보기186

[TIL] 유데미 X 사람인 취업 부트캠프 19일차 / java [1. 오늘 배운 것] 1. 연습문제2 - 인치를 객체로 public class Dimension { private int feet; private int inches; public Dimension(int inches) { if (inches < 0) { this.feet = -1; this.inches = -1; } else { this.feet = inches / 12; this.inches = inches % 12; } } public int getFeet() { return feet; } public int getInches() { return inches; } } - 정사각형 클래스 public class Square { private int side; public Square(int side.. 2024. 1. 10.
[WEB] 3-way-handshake, 4-way-handshake [TCP 통신] - TCP (Transmission Control Protocol) : 인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜 * 가상회선 패킷 교환 방식 : 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 순서대로 도착하는 방식 [3-way-handshake, 4-way-handshake] 1. 둘의 차이? - 3-way-handshake는 TCP의 연결 과정 - 4-way-handshake는 TCP의 연결 해제 과정 * TCP는 위와같은 과정이 있어 신뢰성이 있지만 느리고, UDP는 위와 같은 과정이 없어서 신뢰성이 없지만 빠르다 2. 포트 상태 정보 - CLOSED : 포트가 닫힌 상태 - LISTEN : 포트.. 2024. 1. 10.
SOLID 단일 책임의 원칙 (SRP, Single Responsibility Principle) - 모든 클래스는 각각 하나의 기능만을 가진다는 원칙 - 클래스나 모듈을 바꿔야 할 이유가 하나여야 한다는 원칙 (-클린코드) - 책임을 적절히 분배하여 관리보수에 용이함 - 다른 클래스들이 서로 연쇄적으로 영향을 미치는 것을 방지 개방-폐쇄 원칙 (OCP, Open-Closed Principle) - 클래스, 모듈, 함수 등이 확장에는 열려있고, 변경에는 닫혀있어야 한다는 원칙 - 쉽게 확장이 가능해야 함 - 요구사항의 변경이나 추가사항이 발생하더라도, 기존 구성요소는 변해서는 안 됨 - OCP를 가능하게 하는 중요한 매커니즘 : 추상화, 다형성 - 변할 수 있는 부분을 추상화하여, 상속하는 클래스가 의존할 수 있게.. 2024. 1. 9.
[TIL] 유데미X사람인 취업 부트캠프 18일차 / 자바, 객체지향 [1. 오늘 배운 것] 1. 이클립스를 사용해서 자바 프로그램 구구단표 짜기 - MultiplicationTable 클래스와 MultiplicationRunner 클래스를 각각 생성한다 - MultiplicationTable 클래스에 구구단표를 출력하는 함수를 생성한다 public class MultiplicationTable { void print(){ for (int i = 1; i < 10; i++) { System.out.printf("%d * %d = %d", 5, i, 5*i).println(); } } } - MultiplicationTableRunner 클래스에 구구단표 출력 함수를 호출하는 코드를 작성한다 public class MultiplicationTableRunner { publi.. 2024. 1. 9.
캡슐, 상속 캡슐화 (Encapsulation) 1. 개념 및 특징 - 모든 변수들과 메소드들을 클래스 단위로 모으는 것, 객체 안에 데이터와 메소드를 숨기는 것, 객체 속성과 메소드를 외부에 노출하지 않음 (정보 은닉) 2. 장점 - 코드의 중복을 제거 - 외부의 잘못된 접근으로부터 필드와 메소드를 보호 - 의도치 않은 변화에서 데이터와 메소드의 안전을 유지 상속 (Inhertiance) 1. 개념 및 특징- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 2. 사용방법- 새로 사용하고자 하는 클래스(하위클래스)의 이름 뒤에 상속받고자 하는 클래스(상위클래스)의 이름을 키워드 'extends'와 함께 써주면 됨- 예시 class point { } class circle extends point { } cla.. 2024. 1. 9.
[TIL] 유데미X사람인 취업 부트캠프 17일차 / [1. 오늘 배운 것] 1. 연산자 2. if문 - if (조건문) {명령} ; - 조건문이 참일때만 명령이 실행된다 3. 연습문제 - 변수 a, b, c, d 선언 후 a+b 가 c+d보다 큰지 조건문으로 확인 - 세 변수를 선언 후 세 변수를 각도로 하여 삼각형이 되는지 확인 - 변수를 선언하여 홀수임을 확인 4. 반복문 - 기본 구조 : for(initialisation; condition; update) 구문 - 구구단표 출력 - 변수를 생성해서 다른 구구단표를 출력할 수 있다 - 초기값이나 업데이트 구문에는 다중값을 넣을 수 있지만, 가운데 조건문에는 한 가지 조건만 들어올 수 있다 5. 메서드 - 기본 구조 : void 메서드명(인자) { 명령문 } - void는 반환값이 없는 구조. 실행만 .. 2024. 1. 8.