일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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기초
- String
- 자바
- DesignPattern
- 자바기본
- 리눅스
- java
- 자바예제
- 직장인인강
- 자바연습문제
- Spring
- 패스트캠퍼스후기
- 직장인자기계발
- 패스트캠퍼스
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 데이터베이스
- 자바기초
- 스프링
- 디자인
- javabasic
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- ncs
- 디자인패턴
- 재택근무
- js
- DB
- 패캠챌린지
- 국비
- linux
- 웹
- Today
- Total
목록패스트캠퍼스후기 (51)
FIF's 코딩팩토리
참조 자료형 변수 변수의 자료형으로 기본 자료형에 int, long, float, dobule등이 있고 참조 자료형으로 String, Date, Student 등이 있다. 참조 자료형 변수는 클래스형으로 변수를 선언한다. 기본 자료형은 사용하는 메모리 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다. 참조 자료형을 사용할 때에는 해당 변수에 대해 생성해야 한다.(String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) 그렇다면 참조 자료형을 정의하여 사용하려면 어떻게 해야할까? 예를 들어 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 너무 비효율적이다. 그래서 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 ..
여러가지 생성자를 정의하는 생성자 오버로딩 자바에서 오버로딩은 사용자의 편의성을 위해 만들어졌다. 오버로딩은 생성자를 구현하여 사용할 수 있다. 클래스에서 생성자를 따로 구현하면 기본 생성자(default constructor)는 제공되지 않는다. 생성자를 호출하는 코드(client코드)에서 여러 생성자 중 필요한 따라 호출해서 사용할 수 있다. 아래 코드를 살펴보자. 맴버변수는 모두 String으로 선언되어 있다. 그리고 생성자는 2개이다. 앞서 배웠듯이 생성자는 클래스 이름과 동일하다. 하나는 기본생성자 UserInfo(){} 이고, 다른 하나는 매개변수를 3개 받는 생성자 UserInfo(String userId, String userPassword, String userName) { this.us..
생성자란 무엇인가? 자바에서 객체를 사용할 때 항상 생성자를 호출해야 한다. Student studentLee = new Student(); 여기서 studentLee는 참조 변수이고, new Student() 이부분이 바로 생성자이다. 생성자는 메모리 구조상 heap에 생성된다. 자바에는 기본 생성자가 있다.(default constructor) 클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다. 클래스에서 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있다. 클래스에서 생성자가 하나도 없는 경우에는 컴파일러가 자동으로 생성자를 코드로 넣어준다. 기본 생성자는 매개변수가 없고 구현부가 없다. 아래 코드는 기본 생성자 이다. public Student() {} 그렇다면 기본 생성..
인스턴스 생성과 힙 메모리 객체를 흔히 인스턴스 라고 부른다. 인스턴스는 new() 키워드를 통해 생성된다. 클래스는 객체의 속성을 정의하고 기능을 구현하여 만들어 놓은 코드 상태이다. 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다. 예를들어 학생 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 된다. 저번시간에 Student 클래스를 만들고 멤버 변수를 정의했었다. Student studentLee = new Student(); Student studentKim = new Student(); 위 코드에서 studentLee 인스턴스와 studentKim 인스턴스는 메모리상으로 볼 때 각각 다른 위치에서 생성된다. 그러므로 stud..
객체의 속성은 멤버변수로, 객체의 기능은 메서드로 구현한다. 이번에는 직접 코딩하며 실습해 보겠다. 학생 클래스를 정의하고 이를 사용해 보겠다. 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현한다. 아래 코드에서 멤버 변수는 studentId, studentName, address 이렇게 3개이다. 메서드는 학생 정보를 콘솔에 출력해서 보여주는 showStduentInfo()와 학생 이름을 반환하는 getStudentName() 이 있다. 이때 showstudentInfo() 메서드의 반환값은 void 즉 없고, 넘겨 받는 매개변수도 없다. getStudentName() 메서드의 반환값은 String 즉 문자열이다. 마찬가지로 넘겨 받는 매개변수는 없다. public class Student {..
함수와 메서드 함수(function) 이란 하나의 기능을 일련의 코드로 서브루틴(sub routine) 이라고도 한다. 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환된다. 예를 들어 덧하기를 수행하는 add라는 함수가 있다고 하자. add 함수가 호출되어 로직이 차례로 진행되고 마지막에는 반환된다. 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다. add함수는 더하기를 수행한다. 그런데 무엇을 더하는지는 다를 수 있다. 숫자 두개를 입력받아 더한다. 가장 좋은 성적 두개를 더한다. 두 거리를 더한다. 위의 문장에 더하는 주체는 다르지만 3가지가 나온다. 이때 add함수를 한번만 정의하고 호출만 하면 편하게 재사용 할 수 있다. 아래는 ..
생활 속에서 객체를 찾아 클래스로 구현해보기 객체지향 프로그래밍의 예를 한번 찾아보자 1. 인터넷 쇼핑몰에서 객체 찾기 인터넷 쇼핑몰은 다음과 같은 일들이 있을것이다. 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다. -> 이 때 객체로는 회원, 판매자, 제품이 있다. 2. 회사에서 객체 찾기 아침에 회사에 가는 길에 별다방 커피숍에 들려 아이스 아메리카노를 주문했다. -> 이 때 객체로는 회사, 커피숍, 아이스 카페라떼가 있다. 3. 학교에서 객체 찾기 성적 확인을 위해 학사 관리 시스템에 로그인 하여 수강 한 과목들의 성적을 확인했다. -> 이 때 객체로는 학생, 교수, 강의실, 과목, 통계등이 있다. 이렇듯, 실생활의 모든 것을 객체로 표현할 수 있..
객체와 객체지향 지금까지 자바의 기본문법을 쭉 살펴봤다. 앞으로 객체에 대하여 공부를 해보겠다. 대표적인 프로그래밍 언어 종류로 절차지향 언어와 객체지향 언어가 있다. 절차지향 언어의 대표로는 C언어가 있고, 객체지향 언어의 대표로는 C++, C#, Java, Kotlin 등이 있다. 절차지향 언어의 장점으로는 실행 속도가 매우 빠르다는 점이다. 단점으로는 코드가 방대해지면 수정 및 유지보수가 어렵다. 절차지향 언어의 장단점 반대가 객체지향 언어이다. 그래서 절차지향 언어는 하드웨어 쪽 즉, 빠른 응답이 필요할 때 많이 쓰이고 객체지향 언어는 웹 사이트 등 만드는데 많이 쓰인다. 그렇다면 객체란 과연 무엇인가? 프로그래밍에서 객체란 의사나 행위가 미치는 대상(사전적 의미) 이다. 좀더 간단히 얘기 하면 ..