일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 자바연습문제
- 직장인인강
- 패스트캠퍼스후기
- java
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- DB
- 자바기초
- Spring
- 데이터베이스
- js
- 스프링
- 자바기본
- DesignPattern
- 패스트캠퍼스
- 웹
- 디자인패턴
- javabasic
- linux
- java기초
- 자바
- ncs
- 재택근무
- 패캠챌린지
- String
- 디자인
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 리눅스
- 자바예제
- 국비
- 직장인자기계발
- Today
- Total
목록한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의 (19)
FIF's 코딩팩토리
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NQ6F1/btrw7RwE2NT/XC9y8O5rvXVTkU9N7Y9uw1/img.jpg)
드디어 50일의 챌린지가 막을 내렸다. 내가 지금 이 글을 쓰고 있다는 것은 50일동안 하루도 빠짐 없이 강의를 듣고 블로그에 포스팅 했다는 뜻이다. 나는 이번년도에 개발자3년차로 이직을 준비하고 있다. 그러면서 부족한 부분을 더 공부하기 위해 이것저것 찾아보다가 패스트 캠퍼스라는 인터넷 강의 사이트를 알게 되었고 마침 환급 챌린지를 모집하고 있었다. 어떤 강의가 있나 쭉 둘러보다가 "한번에 끝내는 JavaSpring 웹개발 마스터 초격차 패키지 온라인" 이라는 강의를 알게 되었다. 자바의 기초 부터 스프링의 여러 기능들 까지 100시간이 넘는 아주 많은 강의들이 들어 있었다. 그동안 무의식적으로 사용한 자바를 이번 기회에 다시한번 재정비 하고, 스프링도 다시한번 개념을 공부하고 실습하기 위해 강의를 신..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ghp4W/btrs0KIqMLc/oTjjyQ312Jmn2mPivlfOc1/img.jpg)
여러가지 생성자를 정의하는 생성자 오버로딩 자바에서 오버로딩은 사용자의 편의성을 위해 만들어졌다. 오버로딩은 생성자를 구현하여 사용할 수 있다. 클래스에서 생성자를 따로 구현하면 기본 생성자(default constructor)는 제공되지 않는다. 생성자를 호출하는 코드(client코드)에서 여러 생성자 중 필요한 따라 호출해서 사용할 수 있다. 아래 코드를 살펴보자. 맴버변수는 모두 String으로 선언되어 있다. 그리고 생성자는 2개이다. 앞서 배웠듯이 생성자는 클래스 이름과 동일하다. 하나는 기본생성자 UserInfo(){} 이고, 다른 하나는 매개변수를 3개 받는 생성자 UserInfo(String userId, String userPassword, String userName) { this.us..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SXpYB/btrsScNHFNn/A3a1LCpm5BxZA6Sd56jCGK/img.jpg)
생성자란 무엇인가? 자바에서 객체를 사용할 때 항상 생성자를 호출해야 한다. Student studentLee = new Student(); 여기서 studentLee는 참조 변수이고, new Student() 이부분이 바로 생성자이다. 생성자는 메모리 구조상 heap에 생성된다. 자바에는 기본 생성자가 있다.(default constructor) 클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다. 클래스에서 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있다. 클래스에서 생성자가 하나도 없는 경우에는 컴파일러가 자동으로 생성자를 코드로 넣어준다. 기본 생성자는 매개변수가 없고 구현부가 없다. 아래 코드는 기본 생성자 이다. public Student() {} 그렇다면 기본 생성..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwWSoy/btrsTdqm1sb/dFzKpdutzvhoQm0UtRml5K/img.jpg)
인스턴스 생성과 힙 메모리 객체를 흔히 인스턴스 라고 부른다. 인스턴스는 new() 키워드를 통해 생성된다. 클래스는 객체의 속성을 정의하고 기능을 구현하여 만들어 놓은 코드 상태이다. 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다. 예를들어 학생 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 된다. 저번시간에 Student 클래스를 만들고 멤버 변수를 정의했었다. Student studentLee = new Student(); Student studentKim = new Student(); 위 코드에서 studentLee 인스턴스와 studentKim 인스턴스는 메모리상으로 볼 때 각각 다른 위치에서 생성된다. 그러므로 stud..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TJd8g/btrsC9Ja6IS/3c2Qa4SpsSsIeC3Rhorm11/img.jpg)
객체의 속성은 멤버변수로, 객체의 기능은 메서드로 구현한다. 이번에는 직접 코딩하며 실습해 보겠다. 학생 클래스를 정의하고 이를 사용해 보겠다. 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현한다. 아래 코드에서 멤버 변수는 studentId, studentName, address 이렇게 3개이다. 메서드는 학생 정보를 콘솔에 출력해서 보여주는 showStduentInfo()와 학생 이름을 반환하는 getStudentName() 이 있다. 이때 showstudentInfo() 메서드의 반환값은 void 즉 없고, 넘겨 받는 매개변수도 없다. getStudentName() 메서드의 반환값은 String 즉 문자열이다. 마찬가지로 넘겨 받는 매개변수는 없다. public class Student {..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/5pJOM/btrsFsBpqeU/LwK5iabw94jftZn2bOKBrk/img.jpg)
함수와 메서드 함수(function) 이란 하나의 기능을 일련의 코드로 서브루틴(sub routine) 이라고도 한다. 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환된다. 예를 들어 덧하기를 수행하는 add라는 함수가 있다고 하자. add 함수가 호출되어 로직이 차례로 진행되고 마지막에는 반환된다. 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다. add함수는 더하기를 수행한다. 그런데 무엇을 더하는지는 다를 수 있다. 숫자 두개를 입력받아 더한다. 가장 좋은 성적 두개를 더한다. 두 거리를 더한다. 위의 문장에 더하는 주체는 다르지만 3가지가 나온다. 이때 add함수를 한번만 정의하고 호출만 하면 편하게 재사용 할 수 있다. 아래는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c2N8Gt/btrstJSkzwm/Y5euZVDBgdBR9titMFbVXK/img.jpg)
생활 속에서 객체를 찾아 클래스로 구현해보기 객체지향 프로그래밍의 예를 한번 찾아보자 1. 인터넷 쇼핑몰에서 객체 찾기 인터넷 쇼핑몰은 다음과 같은 일들이 있을것이다. 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다. -> 이 때 객체로는 회원, 판매자, 제품이 있다. 2. 회사에서 객체 찾기 아침에 회사에 가는 길에 별다방 커피숍에 들려 아이스 아메리카노를 주문했다. -> 이 때 객체로는 회사, 커피숍, 아이스 카페라떼가 있다. 3. 학교에서 객체 찾기 성적 확인을 위해 학사 관리 시스템에 로그인 하여 수강 한 과목들의 성적을 확인했다. -> 이 때 객체로는 학생, 교수, 강의실, 과목, 통계등이 있다. 이렇듯, 실생활의 모든 것을 객체로 표현할 수 있..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Avbp1/btrswVxDz6f/5iJ72fWz6nupzyEO1K6SoK/img.jpg)
객체와 객체지향 지금까지 자바의 기본문법을 쭉 살펴봤다. 앞으로 객체에 대하여 공부를 해보겠다. 대표적인 프로그래밍 언어 종류로 절차지향 언어와 객체지향 언어가 있다. 절차지향 언어의 대표로는 C언어가 있고, 객체지향 언어의 대표로는 C++, C#, Java, Kotlin 등이 있다. 절차지향 언어의 장점으로는 실행 속도가 매우 빠르다는 점이다. 단점으로는 코드가 방대해지면 수정 및 유지보수가 어렵다. 절차지향 언어의 장단점 반대가 객체지향 언어이다. 그래서 절차지향 언어는 하드웨어 쪽 즉, 빠른 응답이 필요할 때 많이 쓰이고 객체지향 언어는 웹 사이트 등 만드는데 많이 쓰인다. 그렇다면 객체란 과연 무엇인가? 프로그래밍에서 객체란 의사나 행위가 미치는 대상(사전적 의미) 이다. 좀더 간단히 얘기 하면 ..