목록Programming 19
2030 Engineer
MVC 모델을 적용한 JavaFXMVC는 Model, View, Controller의 약자이다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다. 서로 분리되어 각자의 역할에 집중할 수 있게하여 개발을 하고 그렇게 어플리케이션을 만든다면, 유지보수성, 어플리케이션의 확장성, 유연성이 증가하고, 중복코딩이라는 문제점 또한 사라진다. 때문에 MVC패턴은 중요하다. Model사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다.변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야만 한다. View모델이 가지고 있는 정보를 따로 저장해서는 안된다.모델이나 컨트롤러와 같이 다른 구성요소들을 몰라야 한다.변경이 일..
package main; import java.net.InetAddress; public class Main { public static void main(String[] args) { InetAddress ip = null; try { ip = InetAddress.getByName("www.google.com"); System.out.println("호스트 이름 : " + ip.getHostName()); System.out.println("호스트 주소 : " + ip.getHostAddress()); System.out.println("내 주소 : " + InetAddress.getLocalHost().getHostAddress()); } catch(Exception e) { e.printStack..
기본형과 참조형 기본형 (Primitive Type)는 변수가 값 자체를 보관한다. 예) int, boolean, char, double int a = 3; int b = a; System.out.println(a); //3 System.out.println(b); //3 a=4; System.out.println(a); // 4 System.out.println(b); // 3 b=7; System.out.println(a); // 4 System.out.println(b); // 7 참조형 (Reference Type)는 변수는 값이 보관되어 있는 영역을 가르킨다. 예) Person, String , int[] Person p1, p2; p1 = new Person("누군가", 23); p2= p1;..
메소드 int sum(int x, int y) { return x + y; } sum 이라는 메소드는 파라미터로 정수형 x, y를 받는다. 또한 이 메소드는 int 형으로 꼭 리턴시켜줘야 한다. 리턴값이 없으면 void라고 써주면 된다. 인스턴스 생성 public class BankOwner { public static void main(String[] args) { // 사람 선언 Person p1 = new Person(); p1.name = "누군가" p1.age = 23; p1.cashAmount = 30000; // 은행 계좌 생성 BankAccount a1 = new BankAccount(); a1.balance = 100000; // 두 객체의 관계 설정 p1.account = a1; a1...
JAVA 기본부터 public class Hello { public static void main(String[] args) { System.out.println("Hello world!"); } } 가장 기본적인 것을 보자. public 은 접근 제어자이다. public은 어디에서나 접근이 가능하다는 것을 의미하고 private는 아무나 접근을 못 하게끔 할 것이다. class HelloWorld는 HelloWord라는 클래스를 정의해준다. public static void main 에서 main은 메소드(함수) 이름을 뜻한다. args라는 문자열 배열을 파라미터로 받는 것을 볼 수 있다. 또한 리턴값이 없으므로 void 자료형을 썼다. System.out.println 부분은 문자열을 출력해주게끔하는..
1. 데이터를 순서대로 저장해준다. 2. 요소를 계속 추가할 수 있다. 쉽게 비유하면 이렇다. 이런식으로 숫자를 작은 수 부터 나열하고 싶을 때 규리가 2를 가지고있으면 가지고 있는 뒤 테이블에 다음으로 작은 숫자를 가진 이름을 넣어두면 일렬로 정렬되는 것이다. 이렇게 연결된 박스들의 순서는 규리 - 태호 - 동욱 - 유나 - 현승 순으로 연결된다. 🤔 노드(Node) data는 가지고 있는 변수와 같은 요소값이 들어가고 next에는 다음 노드의 레퍼런스가 들어간다. 가장 첫번째 노드의 주소를 알면 흩어져 있는 노드들을 가져올 수 있다. 가장 첫번째의 노드를 Head 노드라고 한다. 실제 메모리에는 여기저기 흩어져 있다는 것을 인지하자. 🤔 노드 클래스 만들기 class Node: """링크드 리스트의 ..
🤔 배열 C 배열 크기가 고정되어 있다. (int numArray[4] 는 4칸의 공간을 미리 예약, 총 16byte) 같은 타입의 데이터만 담을 수 있다. Python 배열 주소를 알고있으면 배열에 접근하는데 걸리는 시간은 O(1)이라는 점이 굉장히 효율적이다. 🤔 배열탐색 배열안에서 어떤 값을 찾을 때 0번째 부터 순서대로 찾는 것을 선형 탐색이라고 한다. 배열의 첫번째에 찾는 값이 있을경우 빠르지만 없는 경우 O(n)의 시간이 걸리게 된다. 배열에 접근하는 것은 O(n)으로 빠를지언정 탐색을 하게 되면 O(n)의 시간이 걸리게 된다는 것이다. 🤔 정적 배열과 동적 배열 1. 정적 배열 : 크기 고정 (요소 제한) 5개를 담을 수 있는 배열에 새로웃 수를 집어넣을라고 한다면 정적인 배열 특성 때문에 ..
자료구조의 목적은 자료를 구조화해서 데이터를 효율적으로 사용하기 위함이다. 컴퓨터에 데이터가 어떻게 저장되는지 알아야 된다. 컴퓨터는 크게 2가지에 저장한다. 1. 스토리지 (SSD, HDD) 데이터가 영구적으로 저장되며 특히 음악, 사진, 영화 등의 형태가 저장된다. 내 컴퓨터 - 로컬 드라이브에 보이는 용량이 스토리지다. 데이터를 저장하고 받아오는 데 오래 걸린다는 단점이 있다. 정확이 언제 사용할지 모르겠는 파일들을 저장해 놓는 곳이다. 2. 메모리 (RAM) 데이터가 임시로 저장되는 곳이다. 한글 문서를 만들 때는 저장 버튼을 누르기 전까지는 메모리에 담겨있다가 저장을 하면 스토리지로 저장되어 저장한다. 데이터를 저장하고 받아오는데 빠르다는 장점이 있다. 위의 두가지가 둘다 필요한 이유는 뭘까? ..