목록전체 글 (367)
seong

생성자란? 클래스 안에 선언되어 객체가 생성될 때 필드에 초기값을 제공하고 필요한 초기화 절차를 실행 하는것이다. 특징 생성자의 이름 앞에 반드시 public가 존재 해야한다. 하나의 클래스 안에 생성자를 여러번 중복이 가능하다. 소스코드를 보면서 이해하는게 훨씬 이해가 잘된다. Car라는 객체를 생성 하고 필드에 color, speed, gear를 선언해주었다. 생성자 하나를 만들고 매개 변수로 color,speed,gear를 생성 해주었다. main에서 heap메모리에 car의 메모리 공간을 할당해준다. => Car car = new Car("red",10,2) 생성자의 매개 변수에 red, 10, 2가 할당된 후 필드에 초기화 시켜준다. this.color는 필드에 있는 private String ..

Optional 타입으로 변수 초기화 Dart에서 변수를 초기화 해주지 않으면 오류가 난다. Optional 타입인 ? 를 변수 명 앞에 넣어주면 null 값으로 초기화 시켜준다. gear 값은 현재 Optional로 초기화 해주어서 null 값이다. print문 ?? 값 만약 출력하려는 값이 null 이라면 3을 출력 해준다는 뜻이다.

Dart 기본 자료형 자바 print 문장이 n1 : 10으로 출력이 된다. 다트에는 묵시적 형 변환이 되지 않기 때문에 출력이 안된다. 이럴때 ${}로 출력 해주면 된다. ${} 문자열 사이에 변수를 적으면 출력을 할 수 있다. 배열(list,map) 1.list 기본적인 list 선언 원래 자바와 별 다를게 없다. 2.map list 처럼 연속적인 값, 인덱스로 찾을 수 있는 값 들이 아닌 키 값으로 찾는 데이터들 map 데이터 값 변경 user["키 값"] = "바꿀 데이터"

1. 은행 계좌를 나타내는 BankAccount클래스를 입력하고 다양한 실험을 해보자. 잔고를 나타내는 정수형 멤버 변수 balance 예금 인출 메소드 draw 예입 메소드 deposit 잔고반환 메소드 getBalance 1-1 b의 잔고를 100으로한다 b에서 60을 인출한다. b의 현재 잔고를 얻어서 화면에 출력한다. package ex08; class BankAccount { private int balance;// 잔액표시 // b에서 60을 인출한다. // b의 현재 잔고를 출력한다. // 잔액 표시 메소드 int getBalance() { return balance; } // 저금 void setdeposit(int amount) { balance = amount; } // 인출 void ..
1. 3개의 숫자를 받아서 크기 순으로 정렬하는 프로그램을 작성하여보자. if-else문 사용한다. package Chap06; import java.util.Scanner; public class Ex01 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int a, b, c; System.out.print("정수를 입력하시오:"); a=sc.nextInt(); System.out.print("정수를 입력하시오:"); b=sc.nextInt(); System.out.print("정수를 입력하시오:"); c=sc.nextInt(); // 30 20 1..

버블 정렬 알고리즘 인접한 두 값들을 비교한다. 비교한 값들 중 정렬이 되어 있지 않으면 정렬해준다. 버블 정렬 하는 과정 5,4,3,2가 있다고 가정하자. 첫번째 사이클 5와 4를 비교후 정렬 -> 4, 5, 3, 2 5와 3를 비교후 정렬 -> 4, 3, 5, 2 5와 2를 비교후 정렬 -> 4, 3, 2, 5 이렇게 첫번째 사이클이 종료된다 마지막 5는 이미 오름차순으로 보았을때 정렬이 되어 있으므로, 두번째 사이클부터는 비교를 해주지 않아도 된다. 두번째 사이클 4와 3 비교 후 정렬 -> 3, 4, 2, 5 4와 2 비교 후 정렬 -> 3, 2, 4, 5 세번째 사이클 3와 2 비교 후 정렬 -> 2, 3, 4, 5 이제 모두 정렬 되었다. 한 사이클을 실행할 때마다 검사할 자릿수(인덱스)가 하..
절차 지향이란? 문제를 해결하는 절차를 중요시 하게 하는 방법이다. 절차들은 모두 함수, 프로시저 라는 단위로 묶인다. 단점 유지보수가 어렵다. 개발할때 순서대로 작성 하기 때문에 비효율 적이다. 객체 지향이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들어, 객체를 서로 상호작용을 시켜주는 프로그래밍 방식이다. 객체 지향에서 상태는 행위를 통해서만 변경이 가능하다. ex) 믹서기(행위), 사과(상태) 가 있다. 믹서기를 가져온다 믹서기에 사과를 넣는다 믹서기로 사과를 갈아준다 (행위) 사과는 갈아진 사과가 된다.(상태) 중요하게 봐야할 점 행위를 함으로써 상태가 바뀐다. 믹서기와 사과는 서로 독립적이다.(어떠한 행동에 대해 책임을 지지 않는다) 서로 상호작용을 할 수 있다...

Dartpad로 사용 dartpad 검색 Dart 에서 class가 없어도 되는 이유 Dart에서는 자바와 달리 해당 파일을 메모리에 다 띄운 후 main을 찾기 때문에다. 메소드 안에 n1의 출력문이 존재 하지만, n1은 현재 메소드의 바깥에 선언되어 있다. Dart에서는 Java와는 다르게 클래스(Class)가 없어도 변수와 메소드가 메모리에 저장될 수 있다. 클래스 내부에 존재 하지않으면 함수(Funcition) 라고 한다. 메소드와 함수의 차이점 메소드(Method) 메소드는 클래스 내에 존재한다. 메소드는 객체와 연관 되어 있다. 함수(Funcition) 함수는 밖에 존재한다. 객체와 연관 없이 독립적이다. Dart의 자주 쓰이는 타입(Type)