웹 개발 역량강화를 위해 내일배움카드로 수강할 수 있는 백엔드 교육과정을 찾아보았다. 남궁성&박매일 님의 '나도 할 수 있는 Java & Spring 웹 개발 종합반'이 교육일정이나 커리큘럼이 무난한 것 같아서 수강하게 되었다. 8주 총 65시간의 과정을 포스팅하고자 한다.
커리큘럼
주차 학습 내용 1주차 생각,표현,코딩하기란? 2주차 Java 기초 다지기1 3주차 Java 기초 다지기2 4주차 객체지향 프로그래밍 시작하기 추가1 객체지향 프로그래밍 설계하기 5주차 Spring 시작하기 6주차 Spring MVC part1 7주차 Spring MVC part2 8주차 Spring MVC part3 추가2 Spring DI 와 AOP 파이널 프로젝트
기본 자료형이외의 다른 데이터를 변수에담고자하면 사용자정의 자료형을 만들어야 한다. 이때 생성된 클래스 객체를 바구니라는 의미에서 Model이라고도 하고 덩어리라는 의미에서 VO;Value Object라고도 하고 DTO;Data Transfer Object라고도 한다. 데이터를 변수에 담아서 옮긴다는 의미이다.
이 객체는 같은 자료형만을 원소로 갖는 배열과 달리 이절적인 자료형을 원소로 가질 수 있다.
클래스는 새로운 자료형을 만드는 도구 즉, 객체를 설계=모델링 하는 도구이다.
클래스는 접근제어자를 선언해줘야한다. 또한 클래스 내 변수 안에도 접근 제어자를 선언해줘야한다.
객체지향 측면에서 클래스는 현실세계에 있는 객체를 객체지향 프로그램에서 사용하기 위해 객체의 상태정보(멤버변수)와 행위정보(멤버메서드)를 뽑아서 설계하는 도구가 된다.
객체가 생성자로 생성되어 메모리에 올라가면 인스턴스라고 한다.
다른 객체에게 자신의 정보를 숨기고 자신의 동작, 기능, 연산만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정(상태) 정보에 접근을 막는다는 의미
클래스 내부에 존재하는 접근이 제한된 상태 변수를 수정하기 위해서는 해당 클래스의 setter메서드를 통해서 접근한다.
해당 클래스의 메서드는 외부에서 접근이 제한되었다고 하더라도 this로 접근이 가능하기 때문이다.
클래스 내부에 접근이 제한된 상태 변수의 내용이 밖으로 내보내기위해 해당 클래스의 getter메서드를 통해서 내보낸다.
해당 클래스의 메서드는 외부에서 접근이 제한되었다고 하더라도 this로 접근이 가능하기 때문이다.
setter 와 getter는 한 쌍으로 되어 있어야 접근이 제한된(정보 은닉)된 메서드에 접근이 가능하다.
생성자 메서드를 통해서 접근이 제한된 멤버변수의 값을 저장하고 초기화가 가능하다.
생성자를 오버로딩하여 원하는 값으로 초기화가 가능하다.
만약 오버로딩하게되면 기본생성자는 명시하지 않으면 자동 생성되지 않는다. 따라서 기본 생성자가 필요하다면 명시해줘야한다.
getter를 쓰면 멤버변수당 하나가 있어서 멤버변수가 여러개면 여러번 반복해야한다.
toString()이라는 메서드를 만들어서 객체가 가지고 있는 값 전체를 문자열의 형태로 리턴 받을 수 있다.
배열의 선언
기본자료형 뿐만아니라 사용자정의 자료형(클래스)도 배열을 만들 수 있다.
배열은 동질적인 자료형의 나열이기 때문이다.
정보처리 기사에서 공부할 때 쏟아지는 전문 용어들 단축어를 보고 이게 뭐지 싶었던 용어들이 있다. VO, DTO, DAO등이 그것이다. 그런 것들에 대한 설명을 쉽게 풀어주어서 이해하는데 도움이 많이 되었다.