메소드5 자바 Cloneable 사용방법 / 자바 디자인 패턴 - 프로토 타입 패턴 / java design pattern , prototype pattern 안녕하세요 이번 글에서는 Cloneable의 사용방법과 프로토 타입 패턴에 대해서 알아보도록 하겠습니다 먼저 Cloneable의 사용방법과 배경에 대해서 알아보겠습니다 ●Cloneable의 배경 여기 다음과 같은 소스코드가 있습니다 프로그래머는 객체의 주소가 아닌 값들만 복사하고 싶은 상황을 가정해보겠습니다 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package BackGroundCloneable; public class Background { public static void main(String[] args) { ClassForCopy c1 = new ClassForCopy(0, null, 0, false, 0, 0, 0, 0.. 2017. 9. 29. 프로젝트 생성 / 주석 / 클래스, main 메소드 / 출력문 자바 프로젝트 생성 / 주석 / 출력문 / 클래스, 메소드 자바 프로젝트 생성 , 주석 , 출력문 , 클래스 , 메소드에 대해서 알아보도록 하겠습니다. 프로젝트 생성 이클립스를 실행합니다. 저는 EE 버전의 이클립스를 설치했기 때문에 파일 이름이 Eclipse Jee Oxygen이라고 되어있습니다. 이제 프로젝트를 생성 해보겠습니다. File - New - Java Project 를 클릭하세요. 프로젝트의 이름을 작성하고 Finish를 클릭합니다. 클릭하고나면 src까지 디렉토리가 생성됩니다. 여기서 이제 패키지를 생성해보도록 하겠습니다. 패키지는 소스파일들이 저장되는 폴더입니다. 패키지도 이름을 작성하고 Finish를 클릭합니다. firstProject - New - Class 를 클릭합니다. 이름을 .. 2017. 9. 20. 자바 알고리즘의 캡슐화 / 템플릿 메소드 패턴 자바로 알고리즘을 구현 해야 할때 캡슐화의 개념을 사용하면 코드를 작성하는데 도움이 된다. ●캡슐화 : 관련 있는 메소드나 변수들을 하나의 클래스로 묶는 것. 예제) 만약 사람을 자바 프로그램으로 모델링 한다면 사람이 하는 행동인 잠자다 숨쉬다 밥먹다 메소드 들을 사람 클래스 안에 하나로 묶어놓는다. 사람의 키 몸무게와 같은 변수들도 사람 클래스 안에 같이 들어가게 된다. 이렇게 키, 몸무게라는 변수 잠자다 , 숨쉬다 , 밥먹다 라는 메소드 들을 사람 클래스 안에 구현하고 묶는 것을 캡슐화 라고 한다. ●템플릿 메소드 패턴 템플릿은 보통 뭔가를 계속해서 그려내거나 만들어 낼 수 있는 틀을 말한다. 템플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘.. 2017. 9. 17. 자바 오버로딩 / 메소드 오버로딩 / 생성자 오버로딩 이번 글에서는 오버로딩에 대해서 알아보도록 하겠습니다. 오버로딩의 정의는 다음과 같습니다. 오버로딩 같은 이름의 메소드 또는 생성자를 매개변수의 개수나 타입을 다르게 적음으로써 여러번 정의하고 사용할 수 있게 되는 것 코드를 통해서 더 쉽게 알아보겠습니다. 먼저 메소드를 오버로딩하는 경우입니다. 메소드 오버로딩 코드를 보시면 plus라는 같은 이름의 메소드를 네번이나 정의하고 있습니다. 4개의 plus메소드는 int a,int b int a,int b,int c String a,String b String a,int b 이렇게 매개변수의 개수 또는 타입이 다릅니다. 자바에서는 코드처럼 같은 이름의 메소드라도 매개변수(파라미터)의 개수나 타입이 다르면 반복해서 정의할 수 있습니다. 메소드 오버로딩의 사용 .. 2017. 9. 15. 자바 클래스 속성과 메소드 자바의 클래스에는 속성과 메소드가 있습니다. public class Person extends Object{ String name; // 1 int age; // 1 String address; // 1 void sleep(){ // 2 } void eat(){ // 2 } void playGame(){ // 2 } } 1번에서는 클래스의 속성들을 정의합니다. 클래스의 속성들은 일반적으로 클래스 안에 있는 변수들을 말합니다. 2번에서는 클래스의 메소드들을 정의합니다. 클래스의 메소드들은 클래스 안에 있는 함수들을 말합니다. public class Developer extends Person { String language; void develop() { } } 2017. 9. 14. 이전 1 다음