# 변수(Variable) 변수란 데이터를 저장할 수 있는 메모리 공간을 의미합니다. 값은 변경될 수 있습니다. let 키워드를 사용해 변수를 선언하고 선언되지 않은 변수를 사용하려고 하거나 접근하려고 하면 오류가 발생합니다. ● let let 변수명; // 변수의 선언 변수명 = 값; // 변수의 초기화 let 변수명 = 값; // 변수의 선언 및 초기화 ex) let num; num = 10; * let은 변수에 재할당이 가능하다. 데이터를 저장할수록 낭비가 된다. 10은 heep메모리에 저장되며 num 은 heep을 가리키게 된다. 예시 1) * let은 'num' 같은 변수명을 사용할 경우, Error가 발생된다 let과 var의 차이점!!! ▼▼▼ ★ if문 내에서 num은 지역변수로 사용되므로..
자바스크립트(JavaScript)란? 자바스크립트(JavaScript)는 객체(object) 기반의 스크립트 언어입니다. HTML로는 웹의 내용을 작성하고, CSS로는 웹을 디자인하며, 자바스크립트로는 웹의 동작을 구현할 수 있습니다. 자바스크립트는 주로 웹 브라우저에서 사용되나, Node.js와 같은 프레임워크를 사용하면 서버 측 프로그래밍에서도 사용할 수 있습니다. 현재 컴퓨터나 스마트폰 등에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있습니다. ● 자바스크립트의 특징 1. 웹의 동작을 구현하기 위한 언어입니다. 2. 웹 브라우저에서 작동합니다. -> (단, Node.js 서버에서도 동작 가능) 3. 웹 브라우저에는 자바스크립트 엔진(인터프리터)가 내장되어 있습니다. 4. 자바..
데이터베이스(DataBase) 저장소, 데이터를 통합하여 관리하는 집합체를 의미합니다. 데이터베이스 관리 프로그램(DBMS : Data Base Management System) -> db-engines.com/en/ DB-Engines - Knowledge Base of Relational and NoSQL Database Management Systems DB-Engines DB-Engines is an initiative to collect and present information on database management systems (DBMS). In addition to established relational DBMS, systems and concepts of the growing NoS..
#Object클래스 자바의 모든 클래스의 최상위 조상(부모) 클래스는 object 클래스입니다. 모든 타입은 object 클래스는 기본 데이터 타입을 객체화 시킨 Wrapper type으로 대입받을 수 있습니다. - Object obj 어떠한 타입을 보내도 모든 내용을 저장할 수 있음 예시 1) ● box1.getValue(); 는 Object 객체이기 때문에 괄호안에 타입을 적어준것이다.! 이렇게 할 경우 값이 손실되거나 잘못된 결과가 나오는 문제가 생길 수 있다. 사용을 권장하지 않는다.! #제네릭(generic) 다양한 타입의 객체에 재사용을 높일 수 있는 기법으로 클래스에서 사용할 타입을 외부에서 설정하는 것을 말합니다. ● 장점 1. 반복적인 코드, 불필요한 코드를 사용하지 않도록 재활용이 가능..
#래퍼클래스(Wrapper Class) 기본 타입의 데이터를 객체로 취급해야 할 경우 기본 타입의 데이터를 먼저 객체로 변환하고 작업을 수행해야 하는 데, 이를 객체로 포장해 주는 클래스를 래퍼클래스라고 합니다. byte - > Byte short - > Short int - > Integer long - > Long float - > Float double - > Double char - > Character boolean - > Boolean ●박싱과 언박싱 인스턴스에 저장된 값을 변경할 수 없습니다. 다만, 값을 참조하기 위해 인스턴스를 생성하고 그 생성된 인스턴스의 값만을 참조할 수 있습니다. -박싱 기본타입(값) --> 래퍼클래스 int a = 10; Integer num = new Intege..
#인터페이스(interface) interface는 클래스를 만들기 전에 앞으로 이런 기능들을 만들겠다 라고 협의해놓은 명세서와 같습니다. 인터페이스는 그 자체가 객체를 의미하지 않으며, 어떤 객체가 할 수 있는 기능 자체를 의미하고 그 기능을 하나의 스펙으로 모은 것에 불과합니다. 따라서, 인터페이스가 실제 기능을 가지는 것은 아닙니다. 인터페이스에서는 일반 필드를 갖지 못합니다. 일반 필드로 작성하면 JVM이 static final 키워드를 추가합니다. 예를 들면) 타회사에서 class를 만들고 그 class 를 사용하기 위해서 내가 맞는 기능을 추가해주면 된다 ● 특징 - 인터페이스의 상수는 private으로 만들 수 없습니다. - 인터페이스에는 추상 메서드만 존재합니다. 예외인 경우도 있음 - 인..
#추상클래스 (abstract) 추상클래스는 클래스의 용도가 객체 생성 용도로 사용하지 않는 경우에 사용합니다. 변수의 타입으로 선언하는 용도와 상속의 본연의 기능으로 특정한 코드를 하위 클래스로 물려주는 기능을 활용할 때 사용합니다. 추상메소드가 있으면 추상클래스로 바꿔줘야한다. 추상 메소드라는 것은 하위 클래스에서 반드시 오버라이드 해야하는 메소드 입니다. 사용 예시) abstract class TestClass1 { < -- 추상 클래스 private int a; private String b; public void methodA(){ System.out.println("추상 메소드 테스트!"); } public abstract void methodB(); // 추상 메소드
# 다형성 다형성이란 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질을 의미합니다. 하나의 타입으로 다양한 실행 결과를 얻을 수 있으며 객체를 부품화하여 유지 보수를 용이하게 합니다. 상속관계 참조 형식이다. 1. 부모의 메소드와 필드만 사용가능하다. 2. 자식에게 추가된 기능은 사용xx 단, 오버라이드를 하게 되면 자식 메서드를 호출하여 사용할 수 있다. 3. 다형성 예시(1) ● Monitor 자식 클래스 pro_mo1 부모 클래스 모든 기능을 가지고 태어난 객체 / 자식 객체에 있는 내용은 사용하지 못한다 ● 부모 안에서 자식이 만들어지기 때문에 반대로는 표현할 수 없다. # instanceOf 연산자 ● 특징 * 객체 비교할 때 많이 쓰인다. * 참조 변수가 참조하고 있는 인..
#패키지(package) 1. 패키지란 , 클래스 파일들을 체계적으로 관리하도록 사용합니다. -> 디렉터리(폴더) 2. 사용하는 이유 ● 동일한 클래스명을 사용할 수 있도록 하기 위해 ● 클래스를 비슷한 기능으로 묶어서 편하게 관리하기 위해 3. 예시(1) ● import를 통해 Class 1의 경로를 알려준다. #접근제어자 1. 의미 접근 제어자는 외부에서 클래스에 대한 값(클래스, 메서드, 필드)을 공개하는 수준을 의미합니다. Java에서는 public, protected, default, private을 접근 제어자로 사용하고 있습니다. 2. 종류 * public : 모든 외부에서 직접 접근하거나 호출할 수 있습니다. * protected : 현재 클래스와 동일 패키지이거나 다른 패키지이더라도 상속..
#객체지향 개발을 위한 방법론 # 상속 상속이란, 특정 클래스를 구성할 때 기존 클래스의 데이터와 메소드를 부모 클래스에서 그대로 물려받아 중복적인 코드를 줄이는 것과, 하나의 변수 타입으로 여러 종류의 객체를 의미하는 추상화된 방식의 프로그램이 가능하게 하는 객체지향 기법입니다. 클래스 자체는 기능을 만든다라는 뜻 하나의 설계도와 같다 특정값을 가지게 하는 필드 행동을 하게 하는 메소드 보안상 또는 실수로 인하여 은닉화 하라 객체가 애초에 만들어지면서 생성자를 만들어 값을 생성해 놓는다. 1. 사용방법 extends 부모클래스 { // 추가하고 싶은 내용 // 덮어쓰기 } 예시 1) ● 생성자 : 매개변수가 있는 생성자를 생성하면 빈 생성자는 호출되지 않습니다. ▼상속 ★상속을 해줄 클래스는 기본 생성..