[JAVA] 자바 OOP의 특징 3 - 추상화 (추상 클래스와 인터페이스)
·
백엔드/JAVA
추상화일반 클래스와 동일한데 추상 메서드를 하나라도 포함하면 추상 클래스Service.java → interfaceServiceImpl.java → class (클래스가 인터페이스를 상속받으면 구현부 = implement)특징객체 생성 불가extends 사용 가능abstract 키워드를 사용하여 추상 클래스 생성인터페이스나 추상클래스를 상속 받는 서브클래스는 반드시 그들의 모든 추상 메서드를 오버라이딩 해야 한다. 이 특징을 기억하면서 추상화 과정을 살펴보자.날 수 있는 새와 슈퍼맨이 있다고 하자.둘은 ‘날 수 있는 동물’에 포함된다. 즉, ‘새와 슈퍼맨은 동물이다’(is-a)가 성립된다.우리는 Animal이라는 추상 클래스를 만들어 볼 것이다.public abstract class Animal { //..
[JAVA] 자바 OOP의 특징 1, 2 - 상속과 다형성 (+캐스팅, 오버라이딩, final의 개념)
·
백엔드/JAVA
자바의 변수의 타입은 컴파일 시점에 만들어지고,객체는 인터프리터(런타임 시점)에 만들어짐변수의 다형성하나의 변수로 다양한 객체를 생성할 수 있음 (단, 상속을 전제로 해야 함)// 부모의 데이터 타입으로 자식의 객체 생성이 가능하다// teacher와 student가 person을 상속 받고 있을 때 아래와 같이 타입의 다형성이 허용됨PersonDTO teacher = new TeacherDTO();PersonDTO student = new StudentDTO();PersonDTO [] personArr = new PersonDTO[10]; // 배열을 생성하면서 배열의 요소를 Person 타입으로 지정한 것personArr[0] = teacher;personArr[1] = student;// 단일 타입..
[JAVA] Java Package 선언의 의미와 역할
·
백엔드/JAVA
파일/폴더 규칙 :소스 파일의 package 선언은 폴더 경로와 정확히 일치해야 한다// src/main/java/com/example/repository/UserRepository.java package com.example.repository;기본 패키지는 package 선언을 생략해도 되지만 지양한다 → 테스트/빌드 도구가 싫어함 1. 네임스페이스 관리// 다른 패키지의 같은 이름 클래스 구분com.company.Usercom.client.User같은 이름의 클래스가 있어도 패키지가 다르면 충돌하지 않음 2. 접근 제어public class MyClass { private String secret; // 같은 클래스만 String defaultField; /..
[백준/JS] #18258 : 큐2 (head 인덱스를 이용한 효율적인 큐 구현)
·
알고리즘/백준 풀이
https://www.acmicpc.net/problem/18258 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초 (하단 참고)512 MB122497405333272133.131%문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 ..
[프로그래머스/JS] 기사단원의 무기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다.각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다.예를 들어, 15번으로 지정된 기사단원은 ..
HTTP란? <핵심 요약 정리>
·
CS
Hyper Text Transfer Protocol의 약자로, HTML과 같은 하이퍼미디어 문서를 전송하기 위한 애플리케이션 계층의 프로토콜이다. 쉽게 말해 서버와 클라이언트 간에 데이터를 주고 받기 위해 사용되는 통신 규약이라고 이해하면 된다.  문서뿐 아니라 이미지, 영상, 파일, JSON, XML 등 거의 모든 형태의 데이터를 전송할 수 있어 대부분 HTTP 프로토콜을 사용하여 통신을 한다.  HTTP 통신은 클라이언트(Frontend)와 서버(Backend)로 단이 나뉘어 클라이언트가 요청(request)을 하면 서버가 이에 대한 응답(response)을 보내주는 방식으로 동작한다. 💡 URL에서의 http예를 들어 http://www.cotato.kr 라는 인터넷 주소가 있다면, www.cot..
해안해
개화