생성자 오버로딩 (overloading) 생성자 정의 하기 생성자를 구현해서 사용할 수 있음 클래스에 생성자를 따로 구현하면 기본 생성자 (default constructor)는 제공되지 않음 생성자를 호출하는 코드(client 코드)에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음 생성자 오버로딩 생성자는 매개변수의 갯수가 다르거나 타입이 다르다면 여러 개를 가질 수 있다. UserInfo.java public class UserInfo { public String userId; public String userPassWord; public String userName; public String userAddress; public String phoneNumber; public UserInfo(){} public UserInfo(St.. 생성자 (constructor) 생성자 생성자 기본 문법 ([ 인스턴스 생성과 힙 메모리 (heap memory) 인스턴스 (instance) 클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됨 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됨 new 키워드를 사용하여 인스턴스 생성 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory) 에 할당됨 C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 ( free() 난 delete 이용) 자바에서 Gabage Collector 가 주기 적으로 사용하지 않늠 메모리를 수거 하나의 클래스로 부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 됨 참조 변수, 참조 값 Stu.. 객체의 속성은 멤버 변수, 객체의 기능은 메서드로 구현 학생 클래스를 정의 하고 이를 사용해 보자 학생 클래스의 속성을 멤버 변수로 선언하고 메서드를 구현한다 public class Student { public int studentID; public String studentName; public String address; public void showStudentInfo() { System.out.println(studentName + "," + address); } public String getStudentName() { return studentName; } } 학생 클래스를 생성하여 생성된 객체(인스턴스)에 각각 다른 이름과 주소를 대입한다 public class StudentTest { public static void main(String[].. 함수와 메서드 함수란 (function) 하나의 기능을 수행하는 일련의 코드 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 함수 정의하기 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성됨 int add(int num1, int num2) { int result; result = num1 + num2; return result; } 함수 구현하기 예제 public class FunctionTest { public static int addNum(int num1, int num2) { int result; result = num1 + num2; return result; } public.. 객체와 객체 지향 프로그래밍 객체와 객체 지향 프로그래밍 객체 (Object) 의사나 행위가 미치는 대상 ( 사전적 의미 ) 구체적, 추상적 데이터의 단위 ( 학생, 회원, 생산, 주문, 배송 ) 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예를 들어 봅시다. 절차 지향 프로그래밍: 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다-> 요금을 지불한다 -> 학교에 도착 시간이나 사건의 흐름에 따른 프로그래밍 객체 지향 프로그래밍 객체 지향 프로그램은 어떻게 구현하는가? 객체를 정의 하고 각 객체 제공하는 기능들을 구현하고 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력을 구현 이전 1 2 3 4 다음