프로그램46 자바 알고리즘의 캡슐화 / 템플릿 메소드 패턴 자바로 알고리즘을 구현 해야 할때 캡슐화의 개념을 사용하면 코드를 작성하는데 도움이 된다. ●캡슐화 : 관련 있는 메소드나 변수들을 하나의 클래스로 묶는 것. 예제) 만약 사람을 자바 프로그램으로 모델링 한다면 사람이 하는 행동인 잠자다 숨쉬다 밥먹다 메소드 들을 사람 클래스 안에 하나로 묶어놓는다. 사람의 키 몸무게와 같은 변수들도 사람 클래스 안에 같이 들어가게 된다. 이렇게 키, 몸무게라는 변수 잠자다 , 숨쉬다 , 밥먹다 라는 메소드 들을 사람 클래스 안에 구현하고 묶는 것을 캡슐화 라고 한다. ●템플릿 메소드 패턴 템플릿은 보통 뭔가를 계속해서 그려내거나 만들어 낼 수 있는 틀을 말한다. 템플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘.. 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. 자바 this 키워드로 메소드에서 메소드 호출하기 자바에서 메소드안에서 다른 메소드를 호출하는 방법에 대해서 알아보도록 하겠습니다. 먼저 this(licenseNo , null) 를 보겠습니다. 이렇게 코드를 작성하면 나중에 Doctor에 대해서 누군가 licenseNo를 입력해서 코드를 작성했을때, 입력되지 않은 hospitalName 의 값이 null이 됩니다. 아래의 코드를 이어서 보겠습니다. 앞서 매개변수가 두 개인 경우와 같이 , 이번에도 licenseNo와 hospitalName 을 입력하면 입력 되지 않는 name ,age, address 의 값이 null이 됩니다. this (호출을 원하는 메소드의 매개변수와 같은 형태의 값들) 다음과 같이 입력하면 자기 자신 클래스 안에 있는 호출을 원하는 함수를 호출 할 수 있습니다. 2017. 9. 15. 자바의 변수 / 기본 타입과 참조 타입 / 메모리의 힙영역과 스택영역 이번 글에서는 변수 , 기본타입과 참조 타입 , 메모리의 힙영역과 스택영역에 대해서 알아보도록 하겠습니다. 변수의 정의는 다음과 같습니다. 변수 : 하나의 값을 저장할 수 있는 메모리 공간 , 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간 변수를 사용하는 이유는 프로그램에 의해서 값이 수시로 변하기 때문입니다. 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간을 변수라고 합니다. 프로그램을 작성할때 변수를 선언하면 데이터 타입에서 정한 크기의 메모리를 할당합니다. ●변수의 사용 자바에서 변수는 다음과 같이 사용합니다. 변수에 값을 저장하고 읽는 행위 변수의 선언 = 메모리 상에 하나의 값을 저장 할 수 있는 메모리 공간을 할당하는 것을 말합니다. .. 2017. 9. 14. java 프로젝트 import 자바 프로젝트 불러오기 자바 프로젝트 폴더를 이클립스에서 보는 방법에 대해서 알아보겠습니다. 자바 프로젝트를 이클립스에서 불러오려면 import 를 하시면 됩니다. File 에서 Import 를 클릭하세요. Exsiting Projects into Workspace 를 클릭합니다. 1번의 Browse 를 눌러서 경로를 입력하시고 2번 Finish를 클릭하면 프로젝트 불러오기가 완료됩니다. 설명이 부족한 부분은 없으셨나요? 댓글이나 이메일로 질문해주시면 답변드리겠습니다. 감사합니다. 이메일 : forsqna@gmail.com 2017. 9. 14. 이전 1 ··· 5 6 7 8 9 10 다음