본문 바로가기

분류 전체보기985

에이콘 아카데미 JAVA 복습 2주차 정리 -1 1.객체지향 프로그래밍 방법론 객체지향 프로그래밍은 방법론이다 이전의 구조적인 프로그래밍 방법론에서 한층더 진화된 방법론입니다. 클래스와 객체 함수들을 사용하는 요소는 같지만 요소를 활용하는 방법에서 구조적인 프로그래밍에서는 함수를 중심으로 구조를 사용했다고하면 객체지향 프로그래밍에서는 객체를 중심에 두고 사용하는 방법을 채택하고 있습니다. 사실 객체지향은 인간의 사고에 가깝기 때문에 우리가 받아들이기가 더 쉽습니다. 일상 생활에서 우리는 객체=실체를 먼저이야기하고 기능은 나중에 이야기하는 경향이 짙습니다. 예를 들자면 커피숍에가서 커피를 주문했다. 커피(주문) 이런식으로 말이죠. 이전의 구조적인 프로그래밍에서는 주문(커피)라는 식으로 사용했습니다. 그래서 인간의 가까운 사고방식으로써 만들어진것이 객체지.. 2020. 3. 15.
자바기반의 웹&앱 응용 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.
[JAVA] Java Thread 1. 프로세스(PROCESS) 프로세스란 우리가 프로그래밍 언어로 절차를 작성해서 그 프로그램을 실행시켜서 동작하게 만들면 이것을 프로세스라고 합니다. 보통 프로세스는 하나의 프로그램 처리 경로를 가지고 있습니다. 이 경로는 직렬적인데 어떠한 일을 수행하는 것에 있어 프로그래머가 원하는 순서대로 작동을 합니다. 그러나 비동기 실행 병렬적으로 실행을 하고 싶을 때 자바에서 사용할 수 있는 것이 스레드 Thread입니다. 자바 스레드를 이용하면 여러 개의 처리 루틴을 가질 수 있습니다. 단순 반복의 코드를 실행할 때도 여러 개의 스레드를 만들어 분리시킨 뒤 결과를 받아 데이터를 합치게 되면 시간을 절약할 수 있습니다. 자바 쓰레드를 만들어서 구동하는 대표적인 방법은 Thread 클래스를 상속받는 것입니다. .. 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.
JAVA GUI 1. JAVA GUI 그래픽을 그리기위한 환경 GUI환경은 다이얼로그 혹은 JFrame 같은 윈도우 창이 있어야 하며, 그 윈도우 창에 그래픽이 그려진다. 자바 GUI는 JAVA에서 AWT, Swing으로 나누어 진다. - Java.awt 패키지의 클래스를 이용 awt는 해당 운영체제의 특징을 따라 화면 구성을 하게되며 운영체제에 따라 느낌이 다르다 만들기가 쉬우며 대신 느리고 무겁다. ex) Button Frame TextField. - javax.swing 패키지의 클래스 이용 swing은 자바 영역에서 사용하는 look&feel 을 적용 받아 모든 운영체제에서 동일한 느낌을 제공한다 만들기가 어려우며 대신 빠르고 가볍다 ex)JButton, JFrame, JTextField. 1)Frame(프레임).. 2020. 3. 11.
자바기반의 웹&앱 응용 SW개발자 양성과정 11일차 -22 1. 객체의 생성과 메모리 할당. ● 정적 메모리 할당 정적 메모리 할당은 메모리 할당 방법 중에 하나로, 메모리의 크기가 하드 코딩되어 있기 때문에 프로그램이 실행될 때 이미 해당 메모리의 크기가 결정되는 것이 특징이다. 프로그램을 실행시키면 Instruction이 우선적으로 main함수로 이동한 뒤 필요한 연산자와 "new" (클래스 타입의 인스턴스(객체)를 생성해주는 역할) 연산자를 이동하면서 정적 메모리로 할당할 변수와 객체들을 Stack영역에 메모리를 할당한다. ●동적 메모리 할당 또는 메모리 동적 할당 컴퓨터 프로그래밍에서 실행 시간 동안 사용할 메모리 공간을 할당하는 것을 말한다. 사용이 끝나면 운영체제가 쓸 수 있도록 반납하고 다음에 요구가 오면 재 할당을 받을 수 있다. 프로그램 실행 중.. 2020. 3. 11.
[JAVA] 기본 타입과 참조타입 데이터 타입에 대한 확실한 개념이 없다면 좋은 프로그램을 만들 수 없습니다. 왜냐하면 프로그램은 자료구조를 통해 데이터를 구성하고 알고리즘을 통해 문제를 해결하기 때문에 여기서 확실히 정리하고 갈 필요가 있다고 생각합니다. 1. 기본 타입(Primitive Type) 자바에서의 기본타입이란 java언어에서 이미 존재하는 데이터 타입입니다. 실제값인 변수에 직접 저장합니다. 그 종류는 정수, 실수, 문자, 논리 리터럴을 가지고 있습니다. →여기서 리터럴(Literal)이란 직접 입력된 값을 말합니다. 정수 리터럴 1) 10진수(기본값), 8진수(0을붙여서 시작), 16진수(0x , 0X로 시작합니다) 종류 : byte. char ,short, int , long 실수 리터럴 2) 소수를 말합니다. 지수식 .. 2020. 3. 10.
자바기반의 웹&앱 응용 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.