본문 바로가기

웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자131

자바기반의 웹&앱 응용 SW개발자 양성과정 13일차 -26 1. getter 와 setter1)사용하는 이유. getter와 setter를 사용하는 이유는 간단하게 말하자면 다른 클래스에서 해당 클래스의 멤버변수에 함부로 접근하지 못하게 하기 위해서입니다. 객체지향적으로 볼때 캡슐화와 은닉은 굉장히 중요한 부분을 차지하고 있는데,캡슐화는 클래스의 외부에서 내부의 정보를 직접 접근,조작할 수 없고, 외부에서 접근이 가능하도록 설정된 메소드를 통해서 객체의 정보에 접근할 수 있다는 것입니다. 그렇기에 우리는 코드를 작성할 때 클래스의 멤버변수에 private이라는 접근제어자를 사용해서 외부에서 객체 내부의 멤버 변수의 값을 함부로 사용하지 못하게 합니다. 외부로의 확장에 막혀있는 객체의 값을 사용하기위해 getter와 setter의 메소드가 준비되어있습니다. 은닉성.. 2020. 3. 13.
자바기반의 웹&앱 응용 SW개발자 양성과정 12일차 -25 객체지향론 자바는 객체지향 언어이다. 처음에는 절차 언어로써 절차를 작성하다. 각 필요한 내용들로 구조화해서 프로그래밍으로 코드를 작성하다 보니 어느 순간 한계가 발생합니다. 그 한계란 함수의 개수가 많아져서 함수를 정리할 수 있는 방식이 필요로 했습니다. 그렇다면 어떻게 정리를 해야 할까요? 어떤 기준으로 많은 함수들을 수납할 건지의 대한 고민을 하게 되었습니다 그럼 수납하기 위해 클래스라는 파일에 함수를 정리하도록 하는데 어떠한 기준으로 함수들을 그룹핑해야 하는지에 대해 고민이 생기게 됩니다 1. 함수의 기능이 비슷한 것들끼리 묶는다. Input이라는 클래스 파일에 입력이라는 공통분모를 가지고 있는 함수들을 수납합니다. 그럼 문제가 없을까요? 함수들은 개별적인 구조 데이터를 매개 변수로 받아 사용하고.. 2020. 3. 12.
자바기반의 웹&앱 응용 SW개발자 양성과정 12일차 -24 1.this란? 자바에서 this는 객체 or 자기 자신을 나타냅니다 1) 클래스의 속성과 생성자/메서드의 매개변수의 이름이 같을 경우 public class Students { private static String name; private static int age; private static int grade; public void student(String name, int age, int grade) { // 메소드 this.name = name; this.age = age; this.grade = grade; System.out.println(name); System.out.println(age); System.out.println(grade); } public Students(String n.. 2020. 3. 12.
자바기반의 웹&앱 응용 SW개발자 양성과정 12일차 -23 1. 전역변수에 대해 알아보자. 변수는 선언위치에 따라 전역변수와 지역변수로 나눠지는데 특정구역 안에서{}생성된 변수는 지역변수이며 어디서든 호출해서 사용할 수 있는 변수는 전역변수이다. public class Main { private static int c = 1; // Main class전체에서 사용되는 전역변수 String num1 ; int num2; //객체화를 시켜야만 사용가능한 변수 객체변수 public static void main(String[] args) { int a = 2; // main 함수에서 사용되는 지역변수 System.out.printf("%d %d", a, c); // 지역변수와 전역변수 2,1을출력 System.out.println(); for (int b = 0; b.. 2020. 3. 12.
자바기반의 웹&앱 응용 SW개발자 양성과정 11일차 -22 1. 객체의 생성과 메모리 할당. ● 정적 메모리 할당 정적 메모리 할당은 메모리 할당 방법 중에 하나로, 메모리의 크기가 하드 코딩되어 있기 때문에 프로그램이 실행될 때 이미 해당 메모리의 크기가 결정되는 것이 특징이다. 프로그램을 실행시키면 Instruction이 우선적으로 main함수로 이동한 뒤 필요한 연산자와 "new" (클래스 타입의 인스턴스(객체)를 생성해주는 역할) 연산자를 이동하면서 정적 메모리로 할당할 변수와 객체들을 Stack영역에 메모리를 할당한다. ●동적 메모리 할당 또는 메모리 동적 할당 컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것을 말한다. 사용이 끝나면 운영체제가 쓸 수 있도록 반납하고 다음에 요구가 오면 재 할당을 받을 수 있다. 프로그램 실행 중.. 2020. 3. 11.
자바기반의 웹&앱 응용 SW개발자 양성과정 10일차 -21 ** 성적관리 프로그램 ver 0.1 ** 1. 성적입력 2. 성적출력 3. 종료 > _1 // 1 메뉴를 선택했을 경우 국어성적 : _ 영어성적 : _ 수학성적 : _ 국어성적 : _ 영어성적 : _ 수학성적 : _ 국어성적 : _ 영어성적 : _ 수학성적 : _ // 2번 메뉴를 선택했을 경우 1 - 국어:30, 영어:40, 수학:80, 총점:150, 평균 50.00 2 - 국어:50, 영어:60, 수학:100, 총점: , 평균 3 - 국어:90, 영어:80, 수학:95, 총점: , 평균: 과목별 평균 : 국어:40.33, 영어:55.55, 수학:60.35 package Ex1struct; import java.util.Scanner; public class Ex17성적관리프록램 { public st.. 2020. 3. 10.
자바기반의 웹&앱 응용 SW개발자 양성과정 10일차 -20 데이터 구조화. 구조란? 1. 구조 그룹으로 만들어진 체계. 2. 구조화: 여러 개체들을 그룹으로 묶어서 만듦. 3. 구조가 존재하려면 계층화된 그룹이 필요하다 1조,2조...5조,6조 4. 중복적으로 그룹핑할 수 있다. 1 분단(1조,2조,3조) 2 분단(4조,5조,6조) 왜 구조화가 필요할까? 코딩에서 구조화가 필요한 이유는 단순화이다. 각 여러 가지 변수가 흩어져있을 때 동일된 개념으로 묶은 뒤 따로 관리하면 가시적으로 코드를 봤을 때 이해가 더욱 빠르다. 또 내가 생각하는 단위로 묶어서 설명할 수 있기 때문에 구현 단위가 간소해지고 직관적으로 바뀐다. 그럼 어떻게 자바에서 구조화할까? 이클립스 기준 새로운 클래스 파일을 만든 뒤 클래스 이름은 구조 화명이다. public class Omok { i.. 2020. 3. 10.
자바기반의 웹&앱 응용 SW개발자 양성과정 10일차 -19 상수형 변수를 왜 사용해야 하는가? 상수형 변수를 사용할지는 프로그래머 마음이지만, 가시적으로 코드를 가다듬을 때 자신들을 위한 정리라고 생각하면 될 것 같다. final int HEIGHT ; //대입값을 고정시키기위해 final int WIDTH; final int SMAP =1; final int MMAP =2; final int LMAP =3; switch (menu) { case MMAP: HEIGHT = 40; WIDTH = 20; break; case LMAP: HEIGHT = 60; WIDTH = 30; break; case SMAP: default: HEIGHT = 20; WIDTH = 20; }//swich 코드 부분 중 상수형 변수만 사용된 부분만 가져왔는데. 상수형 변수에 final.. 2020. 3. 10.
자바기반의 웹&앱 응용 SW개발자 양성과정 9일차 -18 오목 게임을 만들어 보겠다. 내가 짠 순서도는오목판 1번째 중복된 값이 있나 확인. 바둑돌 배열에서 중복된 좌표값이 있으면 경고창 출력 2번째 순서대로 오목 알 출력 ------여기까지 완성 3번째 5개 연속적으로 그어졌을 때 그 돌의 주인이 승리. 4번째 게임 재시작 여부 묻기 5번째 아니요 - 종료 예 - 다시 오목판 출력 package javaExample1; import java.util.Random; import java.util.Scanner; public class Ex13omokProgram2 { public static void main(String[] args) { int height = 0; int width = 0; int[] xs; int[] ys; int menu; Scanner.. 2020. 3. 9.
자바기반의 웹&앱 응용 SW개발자 양성과정 8일차 -17 =+ ,=+ 차이점 1) num += 100 은 num = num + 100 의 줄임 표현이라고 생각하시면 됩니다. 2) =+ 라는 연산자는 없습니다. num = (+100) 을 적으신 거와 동일합니다. import java.util.Random; import java.util.Scanner; public class Ex13omokProgram2 { public static void main(String[] args) { int height = 0; int width = 0; int menu; Scanner scan = new Scanner(System.in); while (true) { System.out.println("어떤 바둑판 크기를 원하십니까?"); System.out.println("1. (.. 2020. 3. 9.