CSE(58)
-
[Java Script] 객체지향 프로그래밍 : 상속
- 자바스크립트는 클래스를 기반으로 하는 전통적인 상속을 지원하지는 않음 => 하지만 객체 프로토타입 체인을 이용하여 상속을 구현해낼 수 있다. 1. 프로토타입을 이용한 상속 (1) 상속 function create_object(o){ function F() {} F.prototype = o; return new F(); } - 위의 코드는 더글라스 크락포드가 자바스크립트 객체를 상속하는 방법으로 소개한 코드이다. - create_object() 함수는 인자로 들어온 객체를 부모로 하는 자식 객체를 생성하여 반환한다. => 반환된 객체는 부모 객체의 프로퍼티에 접근할 수 있고, 자신만의 프로퍼티를 만들 수도 있다. => 이렇게 프로토타입의 특성을 활용하여 상속을 구현하는 것이 프로토타입 기반의 상속 - ..
2021.09.14 -
[Java Script] 객체지향 프로그래밍 : 클래스, 생성자, 메서드
클래스로 객체의 기본적인 형태와 기능을 정의 생성자로 인스턴스를 만들어서 사용할 수 있음 클래스에 정의된 메서드로 여러 가지 기능을 수행할 수 있음 모든 인스턴스가 클래스에 정의된 대로 같은 구조이고 보통 런타임에 바꿀 수 없다. 정확성, 안전성, 예측성 등의 관점에서 클래스 기반 언어는 프로토타입 기반의 언어보다 좀 더 나은 결과를 보장한다. Java, C++이 여기에 속한다 객체의 자료구조, 메서드 등을 동적으로 바꿀 수 있음 동적으로 자유롭게 객체의 구조와 동작 방식을 바꿀 수 있음 자바스크립트가 여기에 속함 - 자바스크립트는 거의 모든 것이 객체이고, 특히 함수 객체로 많은 것을 구현할 수 있다. => 클래스, 생성자, 메서드도 모두 함수로 구현할 수 있다 1. 자바스크립트로 객체 생성하기 (자원..
2021.09.14 -
[Spring5입문] DB 연동
1. JDBC 프로그래밍의 단점을 보완하는 스프링 - JDBC API를 이용하면 데이터 처리와 상관없는 코드를 반복적으로 사용하게 된다. - 구조적인 반복을 줄이기 위한 방법은 템플릿 메서드 패턴과 전략 패턴을 함께 사용하는 것이다. => 스프링은 이 두 패턴을 엮은 JdbcTemplate 클래스를 제공한다 - 스프링의 @Transactional 애노테이션을 사용하면 트랜잭션 관리가 쉽다. 2. 예시 public class MemberDao { private JdbcTemplate jdbcTemplate; public MemberDao(DataSource dataSource){ this.jdbcTemplate = new JdbcTemplate(dataSource); } public Member selec..
2021.09.14 -
[자바 객체 지향] 스프링이 사랑한 디자인 패턴 2
1. 템플릿 메서드 패턴 (Template Method Pattern) public abstract class Animal { //템플릿 메서드 public void playWithOwner(){ System.out.println("귀염둥이 이리온..."); play(); runSomething(); System.out.println("잘했어"); } //추상 메서드 abstract void play(); // Hook(갈고리) 메서드 void runSomething(){ System.out.println("꼬리 살랑 살랑~"); } } - 상위 클래스인 Animal에는 템플릿을 제공하는 playWithOwner() 메서드와 하위 클래스에게 구현을 강제하는 play() 추상 메서드, 하위 클래스가 선택적..
2021.09.06 -
[Java Script] 스코프 체인
- 자바스크립트도 다른 언어와 마찬가지로 스코프, 즉 유효 범위가 있다. - 자바스크립트에서는 오직 함수만이 유효 범위의 한 단위가 된다. - 스코프 체인 : 유효 범위를 나타내는 스코프가 [[scope]] 프로퍼티로 각 함수 객체 내에서 연결 리스트 형식으로 관리되는 것 - 각각의 함수는 [[scope]] 프로퍼티로 자신이 생성된 실행 컨텍스트의 스코프 체인을 참조한다. => 함수가 실행되는 순간 실행 컨텍스트가 만들어지고, 이 실행 컨텍스트는 실행된 함수의 [[scope]] 프로퍼티를 기반으로 새로운 스코프 체인을 만든다. 1. 전역 실행 컨텍스트의 스코프 체인 var var1 = 1; var var2 = 2; console.log(var1); //1 console.log(var2); //2 - 위의..
2021.09.06 -
자바 JDBC
1. JDBC란? - JDBC (Java Database Connectivity) : DB의 종류에 상관 없이 자바에서 DB를 사용하기 위해 쓰는 API => 각 DB를 JDBC로 사용하기 위해서는 각 DB의 JDBC용 드라이버를 다운받아야 한다 2. 사용 방법 드라이버 로드하기 연결 생성하기 문장 실행하기 결과집합 사용하기 3. 사용 예시 public class Program{ public static void main(String[] args){ String url = "jdbc:mysql://localhost/DB이름"; String sql = "SELECT * FROM TABLENAME"; String id = "####"; String pw = "####"; Class.forName("com.m..
2021.08.16