목록
'홈' 729건
-
finalfinal 클래스final이 클래스 이름 앞에 사용되면 클래스를 상속받을 수 없음을 지정합니다.final class FinalClass { // 이 클래스는 상속 불가 .....]class Subclass extends FinalClass { // 컴파일 오류 발생. FinalClass 상속 불가 .....} final 메소드final로 메소드로 선언하면 오버라이딩할 수 없는 메소드임을 선언합니다.자식 클래스가 부모 클래스의 특정 메소드를 오버라이딩하지 못하게 하고 무조건 상속받아 사용하도록 하고자 한다면 다음과 같이 final로 지정하면 됩니다.public class SuperClass { protected final int finalMethod() { ... } // finalMethod()..
-
요구사항 확인요구사항 프로세스도출- 어떻게 수집할 것인가?- 다양한 이해관계자와 효율적인 의사소통이 중요 분석- 요구사항들간 상충되는 것을 해결하고- 소프트웨어의 범위파악- 개념 모델링 명세- 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성하는 것- 시스템 정의서- 시스템 요구사항 명세서- 소프트웨어 요구사항 명세서 확인- 요구사항 문서가 회사의 표준에 적합하고 이해 가능하며, 일관성이 있고, 완전한지 검증- 분석가가 요구사항을 이해했는지 확인 요구사항 분석 기법1. 요구사항 분류(Requirement Classification)- 요구사항이 기능인지 비기능(시스템의 속성들과 제약사항들을 정의하는 요구사항)인지- 요구사항이 하나 이상의 고수준 요구사항으로부터 유도된 것인지 또는 이해관계자나 다른 원천(Sourc..
-
const, letif (true) { var x = 3;}console.log(x); // 3if (true) { const y = 3;}console.log(y); // Uncaught ReferenceError: y is not defined 코드는 크롬 개발자 도구(F12)의 Console 탭에 적으면 됩니다. Enter를 누르면 코드가 실행되는데, 코드를 실행하지 않고 줄바꿈을 하려면 Shift + Enter를 입력합니다.x는 정상적으로 출력되는데 y는 에러가 발생합니다.var은 함수 스코프를 가지므로 if문의 블록과 관계없이 접근할 수 있습니다.하지만, const와 let은 블록 스코프를 가지므로 블록 밖에서는 접근할 수 없습니다.블록의 범위는 if, while, for, function 등에서 볼 ..
-
영화 API 사용해 보기axios 설치하기axios를 설치합니다. 터미널에 다음과 같이 입력하면 됩니다.npm insall axios YTS 영화 데이터 API 살펴보기크롬 브라우저 주소 입력 창에 yts.lt/api라고 입력하면 YTS 영화 데이터 API 사이트에 접속할 수 있습니다. 위 표시한 API 주소를 사용할 것입니다. 이 주소는 최신 영화 20개에 대한 데이터를 기본으로 보내줍니다. 영화 목록 데이터 확인해보기크롬 브라우저 주소 창에 있는 Endpoint의 주소 중 .json으로 끝나는 주소를 입력해주세요.Endpoint 주소 : https://yts.mx/api/v2/list_movies.json JSON Viewer 확장 도구 설치하기 크롬 웹 스토어에서 JSON Viewer를 검색한 다음 눌러 JSON View..
-
static 멤버static 멤버의 선언class StaticSample { int n; // non-static 필드 void g() { ... } // non-static 메소드 static int m; // static 필드 static void f() { ... } // static 메소드} static으로 선언된 멤버는 non-static 멤버와 매우 다른 특성을 가집니다. non-static 멤버와 static 멤버의 차이점static 멤버는 객체를 생성하지 않기도 사용할 수 있는 멤버입니다.static 멤버는 클래스당 하나만 생성되는 멤버로서 동일한 클래스의 모든 객체들이 공유합니다. 그리고 main() 메소드가 실행되기 전에 이미 생성됩니다.static 멤버는 static 멤버가 포함된 객체를 생성..
-
개발 기술 환경 정의운영체제란?- 하드웨어와 소프트웨어 리소스를 관리하고- 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어- Windows, UNIX, Linux, iOS, Android 운영체제 관련 고려 사항 신뢰도 : 장기간 시스템을 운영할 때 운영체제 고유의 장애 발생 가능성성능 : 대규모 동시 사용자 요청 처리기술지원 : 안정적인 기술 지원, 다수의 사용자들 간의 정보 공유주변기기 : 설치 가능한 하드웨어, 다수의 주변 기기 지원 여부구축비용 : 유지 및 관리 비용 DBMS 관련 고려 사항- 사용자, 다른 애플리케이션, 데이터베이스와 상호작용하여- 데이터를 저장하고 분석하기 위한 소프트웨어 애플리케이션- 데이터베이스 생성, 조회, 변경 등의 관리가 주요 기능- Oracle, IBM, DB2, Microso..
-
영화 앱 만들기 워밍업처음에는 영화 데이터가 없지만, 영화 앱 데이터를 로딩하면 그때는 영화 앱 데이터가 나올 텐데 이런 상태를 구분해주는 isLoading state라는 변수가 있습니다. 영화 데이터 로딩 상태 표시해 주기isLoading state는 컴포넌트가 마운트되면 true여야 하니까 다음과 같이 코드를 작성해야 합니다.import React from "react";class App extends React.Component { state = { isLoading: true, }; render() { return ; }}export default App; isloading state에 따라 '로딩 중이다', '로딩이 다 됐다'와 같은 문장을 화면에 출력합니다.구조 분해 할당과 삼항 연산자를 활용해..
-
접근 지정자객체 지향 언어에는 접근 지정자를 두고 있습니다.객체를 켑슐화하기 때문에, 객체에 다른 객체가 접근하는 것으로 허용할지, 말지를 지정할 필요가 있기 때문입니다. 패키지서로 관련 있는 클래스들을 패키지(package)에 저장하여 관리하도록 합니다.패키지는 디렉터리 혹은 폴더와 같은 개념이며, 개발자는 클래스 파일들을 여러 패키지에 분산 관리하는 것이 일반적입니다. 자바의 4가지 접근 지정자접근 지정자(access specifier)는 클래스나 멤버들을 다른 클래스에서 접근해도 되는지 여부를 선언하는 지시어입니다. private, proected, public, 접근 지정자 생략(디폴트 접근 지정) 클래스 접근 지정클래스 접근 지정이란 다른 클래스에서 이 클래스를 활용할 수 있는지 허용 여부를 지정하는 것으..
-
현행 시스템 분석현행 시스템 파악개발하고자 하는 응용 소프트웨어에 대한 이해를 높이기 위해, 현행 시스템의 적용현황을 파악함으로써 개발범위의 향후 개발될 시스템으로의 이행 방향성을 분석할 수 있습니다.개발하고자 하는 응용 소프트웨어와 관련된 운영체제, 데이터베이스관리 시스템, 미들웨어 등의 요구사항을 식별할 수 있습니다.현행 시스템의 분석하여, 개발하고자 하는 응용 소프트웨어가 이후 적용될 목표시스템을 명확하고 구체적을 기술할 수 있습니다.(1) 현행 시스템 파악의 정의현행 시스템이 어떤 하위 시스템으로 구성되어 있는지제공하는 기능이 무엇인지다른 시스템과 어떤 정보를 주고받는지어떤 기술요소를 사용하고 있는지사용하고 있는 소프트웨어 및 하드웨어는 무엇인지네트워크는 어떻게 구성되어 있는지(2) 현행 시스템 파악의 목적향후 ..
-
클래스형 컴포넌트constructor() 함수 알아보기파일을 열고 constructor() 함수를 컴포넌트 안에 작성하고 console.log()로 아무 문장이나 출력합니다.그리고 render() 함수에도 console.log()로 아무 문장이나 출력해봅시다.import React from "react";class App extends React.Component { constructor(props) { super(props); console.log("Hello"); } state = { count: 0, }; add = () => { this.setState((current) => ({ count: current.count + 1, })); }; minus = () =>..
-
객체의 소멸과 가비지 컬렉션객체의 소멸자바에는 객체를 생성하는 new 연산자는 있지마 객체를 소멸시키는 연산자는 없으므로 자바에서는 개발자가 마음대로 객체를 소멸시킬 수도 없습니다.객체 소멸이란 new에 의해 생성된 객체 공간을 자바 가상 기계에게 돌러주어 가용 메모리(available memory)에 포함시키는 것입니다.자바에서는 Object 클래스의 finalize()가 소멸자와 유사한 기능입니다.자바에서 new로 할당받은 후 사용하지 않게 된 객체 메모리는 가바지(garbage)라고 부르며, 자바 가상 기계의 가비지 컬렉터(garbage collector)가 적절한 시점에 자동으로 수집하여 가용 메모리에 반환시킵니다. 가비지자바 응용 프로그램에서 더 이상 사용되지 않게 된 객체나 배열 메모리입니다.참조하는 레퍼런스가 하나도 ..
-
숫자 증감 기능을 제대로 만들어 보기this.state.count 마음대로 바꿔 보기state는 객체니까, this.state.count = 1 또는 this.state.count = -1과 같이 값을 바꿀 수 있다고 생각할 수 있습니다.import React from "react";class App extends React.Component { state = { count: 0, }; add = () => { this.state.count = 1; }; minus = () => { this.state.count = -1; }; render() { return ( The number is {this.state.count} Add Minus )..