전체 글290 [패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_5주차 학습일지 # 자료구조 1. 메모리 상에서 자료를 관리하는 여러 구현 방법들 2. 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 효율적으로 자료를 관리할 수 있다. # 선형 자료구조 앞뒤의 자료가 일대일의 관계 1. 배열(array) 1) 정해진 크기의 메모리를 먼저 할당받아서 사용하고, 자료의 물리적 위치와 논리적 위치가 같다. 2) 자료를 추가/편집하는데 느리다. 3) 빠르게 특정 요소를 찾아낼 수 있다. 2. 연결리스트(linkedlist) 1) 자료가 추가될 때마다 메모리를 할당받고, 자료는 링크로 연결된다. 자료의 물리적 위치와 논리적 위치가 다를 수 있다. 2) 자료를 추가/편집하는데 빠르다. 3) 특정 요소를 찾는데는 느리다. 3. 스택(stack) 1) 가장 나중에 입력된 자료가 가장 먼저 출.. 2022. 7. 14. Interface Interface 내에 메서드를 나타낼 때는 무조건 추상 메서드를 사용한다. public abstract void method(); 여기서, public abstract는 생략 가능하다. 2022. 7. 9. return null; return null;은 리턴하는 값의 타입이 객체라는 뜻이다. 아무것도 없게 반환하되, 그 타입은 객체로 해주고 싶을 때 사용한다. 2022. 7. 9. [패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_4주차 학습일지 # 상속이 사용되는 관계들 1. IS - A 관계 ( is a relationship : inheritance ) 1) 일반적인 클래스와 구체화된 클래스 간의 관계 2) 상위 클래스 & 하위 클래스 간의 관계 3) 클래스 간의 결합도가 높다. 4) 계층 구조가 복잡하거나 hierarchy가 높으면 좋지 않다. 2. HAS - A 관계 ( composition ) 1) 포함하는 관계 2) 코드 재사용의 가장 일반적인 방법 3) 상속하지 않는다. 4) 예시 : Subject 클래스를 포함하는 Student 클래스 ※ 클래스를 재활용하고 싶다고 해서 무조건 상속을 하진 않는다. HAS - A 관계를 정의해서 재사용하는 방법이 있다. # 다운 캐스팅 ( downcasting ) 1. 업캐스팅 된 클래스를 다시 .. 2022. 7. 7. [패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_3주차 학습일지 # static 변수 1. 공통으로 사용하는 변수 ex) 카드회사에서 카드를 발급할 때마다 카드에 순차적인 새로운 카드 번호를 입력 (serialNum) ex) static int serialNum = 1000; 2. 인스턴스가 생성될 때 만들어지는 변수가 아니라, 처음 프로그램이 메모리에 로딩될 때 메모리를 할당한다. 3. 클래스 변수, 정적 변수라고도 한다. 4. 인스턴스의 생성과는 상관 없이 사용이 가능하므로 클래스 이름으로 직접 참조한다. ex) Student.serialNum = 100; # static 변수를 private으로 선언하게 되면 getter / setter를 구현한다. # 지역 변수 (로컬 변수) 1. 함수의 내부에 선언된다. 2. 함수의 내부에서만 사용된다. 3. 스택 메모리에 .. 2022. 7. 1. 외부에서 객체를 받는 매개변수 왼쪽은 Student 클래스, 오른쪽은 Bus 클래스이다. 왼쪽 클래스의 13번째 줄을 보면, Bus bus , bus.take 처럼 특이한 모양의 메소드 구현법이 있다. 여기서는 Student 클래스의 입장에서 봤을 때, 외부에서 만들어진 Bus 객체를 이용해 bus라는 매개변수를 선언했다. 결국, Bus 객체를 받은 것이다. 이렇게 되면 Bus 클래스의 메서드들을 사용할 수 있게 된다. 여기서는 bus라는 매개변수를 인자로 받아서 Bus 객체의 take 메서드를 호출한 것이다. 이런 메서드 구현법도 있으니 알아둘 것. 2022. 6. 28. Scanner로 입력받을 시, nextInt() 후 nextLine() 안되는 이유 일단 nextInt()는 입력받는 것이 숫자인 경우, nextLine()은 입력받는 것이 문자열인 경우 사용된다. nextLine() -> nextInt() 의 순서로 사용하면 문제 없다. 그러나, nextInt() -> nextLine() 의 순서로 사용하면 nextLine()의 입력을 받지 않는다. 그 이유는 nextInt()는 숫자를 입력하고 난 뒤, 치게 되는 엔터(개행문자)를 제거해주지 않기 때문에 그 엔터가 nextLine()의 입력값에 들어가기 때문이다. 해결방법은 nextInt()의 구문 마지막에 scanner.nextLine()을 넣어주면 된다. 예시 ) 2022. 6. 27. [패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍 : 자바 인강_2주차 학습일지 # 반복문 - while문 1. True인 경우 동안 수행문을 반복해서 수행 2. False인 경우 수행 멈춤 ※ While문 무한 반복할 때, while(true) { ... } 이런 식으로 사용 # 반복문 - do-while문 조건과 상관없이 한 번은 수행문을 수행하고 나서 조건을 체크 # 반복문 - for문 # for문에서의 생략 1. 초기화식 생략 : for문 전에 값을 먼저 초기화해서 for문 내부에서 값 초기화할 필요가 없는 경우 ex) for ( ; i < 5; i++ ) 2. 조건식 생략 : for문의 수행문 내부에 조건이 있는 경우 ex) for ( i = 0; ; i++ ) 3. 증감식 생략 : 증감식의 연산이 복잡하거나, 다른 변수의 연산 결과값에 영향을 받는 경우 ex) for ( .. 2022. 6. 22. 프로그래밍 기본 지식 # 프로그래밍에서 0은 굉장히 중요한 숫자 # 가독성이 중요 # 변수의 이름은 시작은 소문자, 단어의 시작은 대문자 # 변수의 이름은 길어도 좋으니 확실해야함 ex) numberOfStudent # 상수(변하지 않는 수)인 경우에는 모든 문자 대문자 # package 이름은 소문자로 작성 # class 이름은 대문자로 시작 # 컴파일(compile) : 사람의 언어를 컴퓨터가 이해할 수 있는 언어로 바꾸어주는 과정 # 진수 표현 10진수) int num = 10; 2진수) int bNum = 0B1010; 8진수) int oNum = 012; 16진수) int xNum = 0XA; # 기본적으로 정수는 int, 실수는 double 형으로 저장이 되어있음 # long이나 float을 사용할 땐, 숫자 뒤에.. 2022. 6. 16. 이전 1 ··· 29 30 31 32 33 다음