전체 글985 자바기반의 웹&앱 응용 SW개발자 양성과정 25일차 -43 JAVA Thread 기초 사용법 첫 번째 방법으로 Thread를 상속받아서 사용하는 방법이 있다. Thread를 상속받게 되면 main스레드와 별개로 또 다른 흐름을 만들어줄 수 있는데 그 또 다른 흐름을 작성하는 곳은 Thread클래스의 run() 메서드 안에서 작성하게 된다. 스레드에서 예외가 발생하는 경우를 대비해서 try catch문으로 예외가 발생했을때 처리하는 구문을 만들어주며 보통 InterruptedException으로 작성한다. 만약 무거운 프로그래밍이 쓰레드에 안에서 반복적으로 작동하고 있는데 갑작스럽게 스레드를 종료시켜야할 경우 사용하기 위함이다. stop()이라는 쓰레드를 종료시켜주는 메서드가 있긴 하지만 이 stop() 메서드는 deprecated 되었는데 그 이유는 스레드를 갑.. 2020. 4. 1. 자바기반의 웹&앱 응용 SW개발자 양성과정 24일차 -42 전에 만들던 오목판에서 기능을 추가한다. 일단 좌상단에서 5개의 돌을 놓아 논 뒤 클릭할 때마다 추가된 돌 윗부분부터 원하는 좌표에 놓아지는 기능을 구현해보자. 첫 번째는 OmokCanvas의 객체가 생성될 때 5개의 돌이 좌측 상단에 생성되도록 하자. 생성될 때 고정된 좌표에 돌 5개가 놓인다면 중첩돼서 보이지 않으므로 정해진 범위 내에서 겹치지 않게 생성하는 방법은 랜덤 한 좌표값을 입력시켜 출력하는 것이다. int omokIndex =0; int top =-1; //바둑돌의 인덱스를 가지고있어야 클릭했을때 위치로 이동할것이다. public OmokCanvas(){ Random rand = new Random() //5개의 오목돌을 만들것이므로 for(int i =0; i 2020. 3. 26. 자바기반의 웹&앱 응용 SW개발자 양성과정 24일차 -41 자바에서 발생하는 오류는 3가지의 오류가 있다. 첫 번째는 구문 오류로써 우리가 코드를 작성할 때 잘못된 방식으로 작성해 컴파일러가 인식하지 못해 프로그램을 만들 수도 없는 치명적이지 않은 오류이다. 두 번째는 논리 오류로써 치명적인 오류이다. 실행에도 문제가 없지만 우리가 흔히 말하는 버그라는 것인데 알아차리기도 힘들어서 피해를 보고 아는 경우가 많다. 이를 방지하기 위해 선 확실한 테스트와 논리적 오류가 없는지 확인을 한 뒤 배포하는 것이 바람직하다. 세 번째는 예외라는 것인데 누군가에게만, 어떤 컴퓨터에서만, 어떤 상황에서만 예외적으로 발생하는 오류이다. 특정한 상황인데 이 예외는 소프트웨어 안에서는 발생하지 않고 사용하는 쪽에서 발생된다. 이 예외 오류를 처리하기 위해서는 예외를 통보를 받아야 하.. 2020. 3. 26. [JAVA] SOLID 객체지향설계 로버트 C. 마틴 그는 객체지향 설계에 다섯 가지 기본원칙을 명명했는데 마이클 페더스가 기억술로 소개한 것이다. 프로그래머가 시간이 지나도 유지보수와 확장이 쉬운 시스템을 만들고자할 때 이원칙들을 함께 적용할 수 있다. 어떠한 기본원칙이 있을까? 1. SRP (Single responsibility principle) 단일 책임의 원칙 로버트 C.마틴은 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이여야한다. 한 클래스는 하나의 책임만을 가져야한다는 이야기이다. 책임은 무엇을뜻할까? 클래스가 만들어질때 하나의 목표를 가져야한다는 소리가 아닐까싶다. 하나의 클래스에 여러가지 기능과 여려가지 멤버를 가지게하지말고 클래스가 맡은 책임에대한 메소드와 멤버만을 가지도록 하여 관련된 책임에대한 것만 맡도록 하는 .. 2020. 3. 25. [JAVA]codeUp 기초100제 자바 1031~1040번 1031 : [기초-출력변환] 10진 정수 1개 입력받아 8진수로 출력하기 10진수를 입력받아 8진수(octal)로 출력해보자. 참고 %d(10진수 형태)로 입력받고, %o를 사용해 출력하면 8진수(octal)로 출력된다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a = scan.nextInt(); System.out.printf("%o",a); } } 2020. 3. 25. 자바기반의 웹&앱 응용 SW개발자 양성과정 23일차 -40 package omokgame; import java.awt.Graphics; import java.awt.Image; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; //두개의 돌을 다 커버할 클래스. //돌을 개체로써 흰돌과 검은돌을 속성을 가지는 Omok클래스를 한다. public class Omok { // 정수형이기때문에 구체적인 변수명은 안됨. private int color; // 돌을 식별하기위한 값 , 기본값 // static생성자안에서 일관되게 초기화하는것이 바람직함 private static final int WHITE; private static final int BLACK; // 오목의 객.. 2020. 3. 25. 자바기반의 웹&앱 응용 SW개발자 양성과정 23일차 -39 게임 프로젝트 들어가기전에 간단한 Omokgame틀을 잡아보면서 복습. package omokgame; import java.awt.Frame; public class Program { public static void main(String[] args) { //OmokFrame의 확장된 기능을 사용하지않기위해서. //캡슐화를 위해 Frame형식으로 만들었다. Frame frame = new OmokFrame(); } } 1. 구조를 잡는데 Frame에 직접적으로 이미지를 출력하는것이 아니라 캔버스를 덮어서 사용하겠다. 2. Frame 을 참조형식으로 OmokFrame클래스의 인스턴스를 생성하는 이유는 Frame의 기능만을 사용하고, OmokFrame의 추가적인 부분을 의도치않게 사용하여 오류의 발생을 .. 2020. 3. 25. 자바기반의 웹&앱 응용 SW개발자 양성과정 22일차 -38 1. 코드란? 막상 코드가 무엇인지 물어봤을 때 선뜻 대답을 못했다. 코드가 무엇일까? 코드란 기호이다. 여러 가지 기호가 있는데 각 기호들만의 특징은 의미가 부여되어있으며 기호만으로 의미를 알 수 있다는 것이다. 어떠한 언어도 보았을 때 의미를 알 수 있어야 한다. 우리는 자바라는 코드로 프로그램을 작성하는데 작성된 코드를 보고 각 의미를 알 수 있어야 좋은 코드라 하는 이유인 거 같다. 2. 비트 연산자의 활용 8 방향에 대한 움직임을 연습하기 위해 배웠던 비트 연산자로 8방향에 대한 기본 로직을 작성한다. public static final int N = 1; public static final int E = 2; public static final int S = 4; public static fi.. 2020. 3. 24. 자바기반의 웹&앱 응용 SW개발자 양성과정 21일차 -37 1.비트 연산자 게임프로젝트에서 캐릭터가 8방향 상하좌우 + 각 대각선 방향이 필요하다. 여러가지 방법이있지만 비트 연산자를 먼저 공부해볼려한다. 비트 연산자 - 컴퓨터 내부의 데이터를 비트 단위로 비교하거나 조작할 때 사용한다. - 기본형 데이터 타입의 각 비트를 개별적으로 조작할 수있다. 비트 논리 연산자(Bitwise Operators) &. 비트 교집합 연산자 - 비트의 AND 연산자로 양쪽의 비트가 모두 1일때만 결과가 1이 되고 그렇지않으면 0이된다. ex) 4 & 3 = 0 4 = 100 3 = 011 0 = 000 겹치는 부분이 없으므로 000 이나오게된다. | 비트 합집합 연산자 - 비트의 OR 연산자로 양쪽의 비트중 하나의 값이라도 1이라면 결과가 1이되고 둘다 0 이면 0이된다. ex.. 2020. 3. 24. 자바기반의 웹&앱 응용 SW개발자 양성과정 20일차 -36 객체지향과 좀 더 친해지기 위해 Frame기반의 게임 프로젝트의 구상 및 시나리오 더보기 게임 제목 Box Hero 게임 추상적인 구상과 시나리오 게임 초기화면 1280*720 화면에서 시작 버튼을 눌러서 (Mouse , Keyborad미정) 게임 시작화면으로 넘어간다 3 , 2 , 1 count후 Start 글자와함께 게임이 시작된다. Stage 1. 상단에서 정해진 위치에서 박스가 하늘에서 떨어진다. 캐릭터는 중앙 하단에서 생성되고 떨어지는 박스를 피한다 박스는 사라지지 않으며 떨어진위치에 쌓이게 된다. 높이가 720이므로 박스가 10개가 쌓기게 되거나 캐릭터가 박스에 깔리면 GameOver 캐릭터가 죽으면 부신 박스의 갯수와 박스를 부셔서 먹은 금화량을 점수판에 출력해주고 다음 게임부터 적용시킬 수.. 2020. 3. 24. 자바기반의 웹&앱 응용 SW개발자 양성과정 19일차 -35 1. 정적 변수 static = (변화 움직임이 없이) 고정된이란 뜻을 가지고 있는 단어이다. static은 보통 변수나, 메소드 앞에 static키워드를 붙여서 사용하게 된다. 예시로 한번 정리해보겠다 public class Example { String exam = "국어"; public static void main(String[] args) { Example ex1 = new Example(); Example ex2 = new Example(); } } 다음과 같은 코드가 있다. Example 클래스의 객체를 생성을 위와 같이 하게 된다면 객체 변수 exam을 저장하기 위해 객체마다 메모리를 별도로 할당하게 된다. 우리가 "국어"라는 값만 필요하고 추가적인 객체를 생성할 때도 항상 값이 변하지 않.. 2020. 3. 24. 자바기반의 웹&앱 응용 SW개발자 양성과정 18일차 -34 인터페이스를 정리하기 전에 먼저 abstract와 interface 차이점을 정리하겠다 많이 헷갈린다. 두 가지는 서로 밀접하면서 약간의 다른 기능을 가지고 있습니다. abstract클래스는 일반적인 클래스와 다를 바가 없습니다. abstract메서드를 하위클래스가 상속받아서 사용하도록 강제한다는 차이외에는 같습니다. 하위클래스에서 상속 오버라이딩하도록 기대하는 비어있는 abstract메소드가있지만 동시에 실제 구체적인 로직을 가지고있는 필드나 메소드가 존재할 수 있는 클래스가 abstract클래스입니다. interface는 구체적인 로직을 가지고있는 메소드를 interface안에 구현하면 안 됩니다. interface는 반드시 본체가 없는 메서드들만을 가지고 있어야 합니다. 1. interface 어떤.. 2020. 3. 19. 자바기반의 웹&앱 응용 SW개발자 양성과정 18일차 -33 1. 추상 클래스 &추상 메서드 (abstract) abstract는 한국어로 번역하게되면 "추상적인"이라는 말이 됩니다. 하지만 그 뜻을 이해하기 쉽게 이용 됐을 때 사용되는 뜻으로 번역해 보자면 "공통분모"입니다 그룹 된 클래스 내에서 공통적으로 사용되는 기능들을 모아서 한 곳으로 모아 놓기 위한 공간 정도로 생각합니다. 기본적인 문법 public void abstract Class A public abstract int bMethod(); ------------------------------- public void Class B extends A{ @Override public int bMethod(){ return 3; } } 우리는 추상클래스와 매소드를 지정해줄 때 abstract라는 키워드를.. 2020. 3. 19. 자바기반의 웹&앱 응용 SW개발자 양성과정 17일차 -32 객체 지향과 좀더 친밀감을 쌓기 위해 비행기 게임을 만들어보자. 1. 시나리오작성 더보기 1. 화면에 바 객체 플레이어,적기,미사일,총알 이번에는 콘솔창이아닌 윈도우창에서 게임을 그래픽형태로 구현하기때문에 Java의 awt(Abstract Windows Tookit)에대해 알고 넘어가야한다. 1) awt란 java에서 지원되는 기본적인 GUI 컴포넌트의 집합입니다. 자바는 O.W.R.A로써 고안되었으므로 한가지 운영체제에 맞는 GUI라이브러리를 가지고 있을 수 는 없습니다. AWT는 OS차원의 GUI컴포넌트들을 추상화 시키고, 이들에 대해 동일한 인터페이스를 통하여 접근,통제할 수 있도록 만들어져 있습니다. GUI운영체제들이 가지고있는 공통적인 부분들은 대부분 포함하고 있으므로 여러기종에서 실행될 수 있.. 2020. 3. 18. 자바기반의 웹&앱 응용 SW개발자 양성과정 17일차 -31 is a 상속으로 상위클래스 하위클래스를 정해주면 다양하게 객체를 생성할때 참조객체를 정해줄수 있습니다. 객체와 참조변수 사이에 부모 자식 관계가 존재한다면 자료형식이달라도 부모형식으로 자식객체를 참조할 수 있습니다. public class NewlecExam extends Exam { } Exam exam = new Exam(); NewlecExam newlec = new NewlecExam(); Exam exam = new NewlecExam(); 이 반대는 가능하지않습니다. Exam을 상속하게되면 newlec객체가 생성될때 부모 객체도 같이 생성되게되는데 부모+자식 을가지게 됩니다 반대인 NewlecExam newlec = new Exam();을 하게되면 부모인 exam말고 newlec의 부분만 참.. 2020. 3. 18. 자바기반의 웹&앱 응용 SW개발자 양성과정 16일차 -30 1)Is a 상속 전 시간에 has a 상속에 알아봤다면 이번에는 기존클래스를 재사용할수 있는 is a상속에대해 정리를 해볼려고합니다. has a 상속만으로 프로그램을 구현하기위해서는 원하는 각 부품을 모아서 만드는 방법이있습니다. 부품이 전부 있다면 되겠지만 한부분이 없다면? 직접구현하거나 비슷한 다른 틀을 가져와서 원하는 부품으로 만든뒤 다시 부품을 조립하는 방법이있습니다. 바로 비슷한 틀을 가져와서 원래 목적에맞게 조금만 수정하게되어 사용하게된다면 생산성이 굉장히 높아지고 소요비용도 절감될 수 있습니다. 그틀을 우리는 FrameWork이라고 합니다. a has a b 관계가 있다는 말은 a제품을 만들 때 b제품을 부품으로 사용했다는말이고 a is a b 관계가 있다는 말은 a제품을 만들 때 b제품을.. 2020. 3. 18. 자바기반의 웹&앱 응용 SW개발자 양성과정 16일차 -29 1. has a 상속has a관계는 하나의 개체가 기능이 분리가 되어서 두 개로 나누어지면 하나는 제품형이 되며 하나는 부품형이 됩니다 제품은 실제 기능을 구현하는 부분이며 부품은 제품에 이용당하는 쪽이 됩니다. 제품은 부품을 가지는 관계를 가리켜 HAS A 관계라고 합니다.부품이라는 개념은 상대적이라 부품이 제품이 될수도있습니다.아래 코드에서 두 클래스 ExamConsole , Exam을 결합시키는 자바 코드입니다. public class ExamConsole { private Exam[] exams; private int index; public ExamConsole() { exams = new Exam[3]; index = 0; for(int i =0; i 2020. 3. 18. 자바기반의 웹&앱 응용 SW개발자 양성과정 15일차 -28 import java.awt.Frame; public class Program { public static void main(String[] args) { GameFrame gf = new GameFrame(); gf.setVisible(true); //=>Frame.repaint //=>Frame.update //=>Frame.paint gf.setSize(500, 700); } } import java.awt.Frame; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; public class GameFrame extends Frame { private Image imgFighter, img; public GameFra.. 2020. 3. 17. 자바기반의 웹&앱 응용 SW개발자 양성과정 14일차 -27 상속과 오버라이드 기본의 재사용할수 있는 라이브러리를 틀로 사용하게되며 내가 기능을 추가하고 싶다면 메서드를 오버라이드해서 기능을 추가할 수 있습니다. 그럼 상속관계에서 메소드의 우선순위 관계에 대한 의문. import java.awt.Frame; public class Program { public static void main(String[] args) { GameFrame gf = new GameFrame(); gf.setVisible(true); //=>Frame.repaint //=>Frame.update //=>Frame.paint gf.setSize(500, 700); } } import java.awt.Frame; import java.awt.Graphics; import java.awt... 2020. 3. 17. 에이콘 아카데미 JAVA 복습 2주차 정리 -2 1. 생성자와 생성자 오버로드생성자란 객체가 생성될때 실행되는 구문입니다. 왜 생성자가 필요할까요? 저는 사실 초기화에 대한 잘못된 생각을 가지고 있었습니다. 변수 초기화의 의미는 변수에 초기값을 대입해주는 의미입니다. 대입해주지 않으면 자료형에 맞춰서 기본값을 세팅해줍니다. 객체 초기화의 의미는 객체 속성에 초기값을 대입하는 의미입니다.사실 오해를 불러일으킬만한 요소는 객체를 초기화한 적이 없는데 자바에서는 객체의 속성을 모두 0 (참조 변수 일 경우에는 NULL)로 초기화해주는 함수를 가지고 있습니다. 다음 사진을 보면 이해가 됩니다. 즉 kor이라는 속성에 초기값을 입력해주지 않았는데 자동적으로 0이라는 값이 출력됩니다.그럼 모든 변수는 메모리에 할당될 때 무조건 0 , null로 설정되는 것은 아.. 2020. 3. 15. 에이콘 아카데미 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. 이전 1 ··· 28 29 30 31 32 33 다음