2021/12/27

최리나·2021년 12월 27일
0

JavaScript

목록 보기
7/12

오늘의 주제는 백엔드
03.2 클래스사용법: 메서드를 분류하기

  • 클래스 문법의 또다른 용도는 유지보수에 용이하도록 메서드 분류하는 것

- Class란?

어플리케이션(프로그램)에서 다루는 데이터에 맞춰서 (데이터를 좀더 원활하게 다룰 수 있도록) 메모리를 설계하는 문법.

가장큰 목적

1) 우리만의 메모리구조 만들기
데이터타입만들기

  • 복합데이터 : 여러데이터가 묶여서 다뤄줘야관리가 필요한것.

서점(+판매가)과 도서관의 책관련 정보는 다름.
만들려는 프로그램에 대한 정보에 따라서
다 다름.

  • 개발자가 필요할때 마다 정의해서 쓰는데이터
  • 메모리 설계도를 직접작성
  • 데이터타입

class Book{

String title;
int page;
...

}

new Book(); - 배열 준비하는 것.

2)메소드분류 : 유지보수 용이
명령문 < function < method < package

1)UML 머릿속에 있는것을 개념화시키는 것
실체가 있는 세계를 컴퓨터로 다룬다.

2)실제 존재하는 판매자와 물건과 주문, 고객을
컴퓨터 세계로 가져와서 글과그림으로 추상화(Modeling)

** 분석가와 설계자가 맘대로 모델링 하는게 아니라 규칙에 따라 글과그림으로 표현하는 것=>UML

3) 이제 프로그램으로 구현(implementing)

# 문제점

한 개의 클래스에
여러 역할을 수행하는 메서드가 있다면.

=> 다른 클래스에 동일한 일을 하는 메서드가
중복될 가능성이 높다.( 수많은 개발자들의 수십년간의 경험상)

# 개선

한 클래스가 한가지 역할만 담당하는 것이
유지보수에 좋다. (경험적 사실로 알려져있음)

경험적 기술 모음 ==>> "Design Patterns"


주화입마하면 쫄망한다. 배움의 끝이다.

강사님이 알려준대로만 일단 배워.
우리는 지금 초보자니까
일단 기술을 익히는게 중요해 .
(이제 4개월 남음)

넌 코딩천재가 되려는게아니야.
서버와 웹을 연결해서 데이터의 흐름을 제어하는 것을 배우는 것.

7-8년차 개발자가 꼭 알아야하는 지식을 알려줄꺼도 어렵곘지만 꾸역꾸역 소화해라.

그대로 받아들여라

직접읽고 이해하면 초보개발자는 절대 될수없다.
지금 단계는 논문을 읽고 이해할 단계가 아니라
실습을 익혀야할 단계

머릿속에 벽을 치지말고
말랑말랑하게 해라. 받아들여라


GRASP 패턴

  • 4-5년차는 되야 이해할 수 있음
  • 개발입문자인 우리에게 쉽게 전달하겠다.
  • 강의는 강사의 지식이 아닌 필터일뿐.
  • 이미 경험이 쌓이고, 대학논문등으로, 수업으로 많이 쌓인 지식들이다.
  • 대가들이, 전문가들이 수십년에 걸쳐서 만든 지식이다.
    -지금은 핵심전달, 잘못된가공은 하지않는다.
    -원본 이해는 나중에 차차

일부러 기존의 자바클래스와 비슷한이름으로 만든다.ArrayList.class - 배열관련 메소드로 따빼자.

GRASP 패턴의
"High Cohesion" 설계기법
높은응집력(전문화)

General Responsibility Assignment Software Patterns

하나로 묶여있어 다른 클래스에서 중복될 메서드가 있을 가능 성이 있기에 따로 분리하자...

클라이언트 요청이 들어와야 호출되는 메소드
=> 연락처 관련 메서드

배열을 다루는 메서드 => 보조메서드


서비스업체는 나이안따짐(기술이 필요) - 경력연차에 따라 요구하는 스킬이 있음

10년차
15년차

단순코딩은 버틸수 없음. (6-7년차 남아돔: 경쟁력이없음)
반드시 스킬을 늘려나가고 공부해야함.
계속공부안하는 분야는 없음.


03.3 클래스활용 연습

연락처 목록
해야할일 (todolist)
1단계 TodoList요청을 처리할 REST API - ContactController

Todo 클래스생성

프로그램을 하나 짜면 기존프로그램을 가져와서
상황에 맞게 변경하는 것.

복사붙여넣기개발자 = 가져와서 그 목적에 맞게끔 코드를 변경하는 것

말그대로 그냥 그대로 복사붙여넣기하고는 다르다.

contactcontroller와 다른점, index(배열)로 찾는다.

2) 프론트엔드개발- 목록출력,화면을 만든다.

한꺼번에 하지말고
한단계하고 확인확인

에러발생


*** 자바에서 프로퍼티?
메서드명이 get또는 set으로 시작하는 메서드 (변수의 값을 꺼내고 설정하는 메서드)
cf) 그 외는 메서드

*** 변수는 필드

'세부적으로 들이파기보다는 지금은 큰그림을 보는단계이다.
일단 오늘하루 배운것에 충실해라 .'

클라이언트에 요청을 받으려면
이 클래스에 변수값을 저장하고 꺼낼때 사용하는 프로퍼티가 있어야함

상세보기 ㅍ ㅣㄹ요없음 - 서버에 요청해서 get도 삭제

변경기능은 어디다 붙이지?( 프론트엔드)
문법을 배우는 이유 써먹을려고

**** 처음에 생성되어있는 버튼이아님
동적생성 버튼이므로

삭제버튼 추가하고 + 이벤트리스너 추가

profile
스스로 공부한 내용을 정리하고 공유하는 블로그

0개의 댓글