본문 바로가기

Java

[객체지향프로그래밍] 12_ static 응용 - 싱글톤 패턴(singleton pattern) 📌 싱글톤 패턴이란? 프로그램에서 인스턴스가 단 한 개만 생성되어야 하는 경우 사용하는 디자인 패턴 static 변수, 메서드를 활용하여 구현 할 수 있음 📌 싱글톤 패턴으로 회사 객체 구현하기 생성자는 private 으로 선언 private Company() {} 클래스 내부에 유일한 private 인스턴스 생성 private static Company instance = new Company(); 외부에서 유일한 인스턴스를 참조할 수 있는 public 메서드 제공 public static Company getInstance() { if(instance == null) { instance = new Company(); } return instance; } 🍀 CompanyTest.java public .. 더보기
[객체지향프로그래밍]09_객체 자신을 가리키는 this 객체 자신을 가리키는 this 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출 할 때 사용 자신의 주소(참조값)을 반환 함 📌 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조변수가 가지는 주소값과 동일한 주소값을 가지는 키워드 public void setYear(int year) { this.year = year; } 📌 생성자에서 다른 생성자를 호출하는 this 클래스에 생성자가 여러 개인 경우, this 를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 없음 예제 ) 생성자 2개를 만들어보자 public class Pe.. 더보기
[객체지향프로그래밍]06_참조 자료형 변수 📌 참조 자료형 변수의 자료형 ▪ 기본 자료형 : int, long. float, double 등 ▪ 참조 자료형 : String, Date, Student 등 클래스형으로 변수를 선언 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름 참조자료형을 사용할 때는 해당 변수에 대해 생성해야 함 ▪ (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) 📌 참조 자료형 정의하여 사용하기 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 불합리 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목들의 변수의 타입으로 선언 선언된 Subject 변수는.. 더보기
[객체지향프로그래밍]05_생성자 (constructor), 오버로딩(overloading) 📌 생성자 (constructor) 생성자 기본 문법 {[ 더보기
[객체지향프로그래밍] 03 _ 함수와 메서드 ■ 함수란 (function) 하나의 기능을 수행하는 일련의 코드 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 ■ 함수 정의하기 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body) 로 구성됨 int add(int num1, int num2) { int result; result = num1 + num2; return result; } ■ 함수 구현하기 예제 public class FunctionsTest { public static int addNum(int num1, int num2) { int result; result = num1 + num2; return result; .. 더보기
[객체지향프로그래밍] 02 _ 클래스로 구현 ■ 클래스는 객체의 청사진(blueprint) 이다. 객체의 속성은 클래스의 멤버 변수(member variable) 로 선언 함 학생 클래스 public class Order { int orderId; String buyerId; String sellerId; int productId; String orderDate; } 주문 클래스 public class Student { int studentNumber; String studentName; int majorCode; String majorName; int grade; } 회원 클래스 public class UserInfo { String userId; String userPassWord; String userName; String userAddres.. 더보기
[객체지향프로그래밍] 01 _ 객체(Object)란? ■ 객체 (Object) 의사나 행위가 미치는 대상 (사전적 의미) 구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송) ■ 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예를 들어보자. 절차 지향 프로그래밍 - 시간이나 사건의 흐름에 따른 프로그래밍 (대표적으로 C언어가 있다) - 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불한다 -> 학교에 도착 객체 지향 프로그래밍 - 대표적으로 C++, C#, Python, JavaScript ... ■ 객체 지향 프로그램은 어떻게 구현하는가? 객체를 정의 각 객체 제공하는 기능들을 구현 각 객체가 제공하는 기능들 간의 소통 (메시지 전달) 을 통하여 객체간의 협력을 구현 더보기

반응형