본문 바로가기

프로그래밍71

자바 알고리즘의 캡슐화 / 템플릿 메소드 패턴 자바로 알고리즘을 구현 해야 할때 캡슐화의 개념을 사용하면 코드를 작성하는데 도움이 된다. ●캡슐화 : 관련 있는 메소드나 변수들을 하나의 클래스로 묶는 것. 예제) 만약 사람을 자바 프로그램으로 모델링 한다면 사람이 하는 행동인 잠자다 숨쉬다 밥먹다 메소드 들을 사람 클래스 안에 하나로 묶어놓는다. 사람의 키 몸무게와 같은 변수들도 사람 클래스 안에 같이 들어가게 된다. 이렇게 키, 몸무게라는 변수 잠자다 , 숨쉬다 , 밥먹다 라는 메소드 들을 사람 클래스 안에 구현하고 묶는 것을 캡슐화 라고 한다. ●템플릿 메소드 패턴 템플릿은 보통 뭔가를 계속해서 그려내거나 만들어 낼 수 있는 틀을 말한다. 템플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘.. 2017. 9. 17.
자바 벡터 Vector() 클래스 , Vector 사용하는 방법 자바에서 배열은 길이가 고정되어 있습니다. 따라서 배열이 한 번 생성되면 배열의 길이를 증가 시키거나 감소 시킬 수 없습니다. 프로그램 내에서 사용할 배열의 크기를 미리 예측하는 것은 쉽지 않습니다. 자바에서는 동적인 길이로 여러 데이터 형을 저장하기 위해서 Vector 클래스를 제공합니다. Vetor는 가변길이 배열이라고 생각하시면 됩니다. Vector class 는 Arraylist와 생김새가 유사하다. 설명이 부족한 부분은 없으셨나요? 댓글이나 이메일로 질문해주시면 답변 드리겠습니다. 감사합니다. 이메일 : forsqna@gmail.com 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.
자바 게터 세터 / java getter setter / 자바 게터와 세터 생성하는 쉬운 방법 자바 게터와 세터 Java Getter Setter 자바의 클래스에는 속성(변수)과 메소드(함수)가 존재합니다. Person p1 = new Person(); Person 객체를 다음과 같이 인스턴스화 할 수 있습니다. p1은 Person객체의 인스턴스로서 Person 객체의 주소가 저장이 됩니다. 이렇게 저장된 주소를 통해서 개발자는 Person 객체의 속성과 메소드에 접근 할 수 있습니다,. 자바에서는 private을 사용해서 멤버 변수로의 접근을 제어합니다. Private 으로 선언된 인스턴스 필드에 접근하기 위해서 Getter와 Setter를 사용합니다. Setter는 Main 함수에서 인스턴스 필드에 접근해서 사용하는 함수입니다. 매개변수로 멤버 변수를 초기화합니다. Getter도 Main 함수.. 2017. 9. 15.
자바 this 키워드로 메소드에서 메소드 호출하기 자바에서 메소드안에서 다른 메소드를 호출하는 방법에 대해서 알아보도록 하겠습니다. 먼저 this(licenseNo , null) 를 보겠습니다. 이렇게 코드를 작성하면 나중에 Doctor에 대해서 누군가 licenseNo를 입력해서 코드를 작성했을때, 입력되지 않은 hospitalName 의 값이 null이 됩니다. 아래의 코드를 이어서 보겠습니다. 앞서 매개변수가 두 개인 경우와 같이 , 이번에도 licenseNo와 hospitalName 을 입력하면 입력 되지 않는 name ,age, address 의 값이 null이 됩니다. this (호출을 원하는 메소드의 매개변수와 같은 형태의 값들) 다음과 같이 입력하면 자기 자신 클래스 안에 있는 호출을 원하는 함수를 호출 할 수 있습니다. 2017. 9. 15.