전체 글 35

[자바의 정석 - 기초편] Chapter6 - 23,24 기본형 매개변수, 참조형 매개변수, 참조형 반환타입

ch6-23 기본형 매개변수 (기본형 매개변수 : 메서드의 매개변수의 타입이 기본형이라는 것) > 기본형 매개변수 - 변수의 값을 읽기만 할 수 있다.(read only) > 참조형 매개변수 - 변수의 값을 읽고 변경할 수 있다.(read & write) * ch6-23,24 : 기본형 매개변수와 참조형 매개변수 중요중요 강의 여러번 보고 제대로 알고 넘어가라! 위의 기본형 매개변수 예제 단계별 과정. 1. 예제 실행 - main 메서드 스택에 올라감 : 프로그램 시작 2. 참조변수 d만들어짐, 객체 생성(Data의 객체 만들어짐. 처음엔 0으로 자동 초기화) 3. 참조변수 d가 가리키는 객체x의 값을 10으로 저장(처음엔 d.x는 0) 4. println -> d가 가리키는 객체x의 값 10 출력 5...

[자바의 정석 - 기초편] Chapter6 - 22 호출스택(call stack)

ch6-22 호출 스택(call stack) (호출스택은 모든 언어에서 공통적. 매우 중요한 개념. 모르고 넘어간다면 기본형 매개변수, 참조형 매개변수, 예외처리 등을 이해하기 어려워짐) 스택(stack) : 밑이 막힌 상자. 위에 차곡차곡 쌓인다. 순서대로 쌓인다. 호출 스택(call stack) - 메서드 수행에 필요한 메모리가 제공되는 공간 - 메서드가 호출되면 호출스택에 메모리 할당, 종료되면 해제 아래 있는 메서드가 위의 메서드를 호출한 것. 하나의 스택에서는 한 개의 메서드만 실행 중이고 나머지는 대기상태가 된다.(맨 위의 것만) (but, 13장- 쓰레드마다 스택을 가짐 그전까지는 이렇게만 알아두기) 호출스택의 단계별 변화 1. 스택 비어있음 2. main메서드 스택에 올라감(프로그램 시작점..

오라클 update 무한 로딩 원인&해결방법

update를 치는데 실행결과가 안 나오고 무한로딩이라 이게 무슨 일이지 싶었다. 검색해보니 "해당 테이블의 레코드를 다른 곳에서 잡고 있을 수 있습니다. 예를 들어서 토드와 같은 sql툴에서 업데이트(혹은 삭제)를 하고 커밋을 안한 상태에서, 애플리케이션에서 해당 값을 또 업데이트를 한다면 계속 기다리는 상태입니다. 본인 혹은 다른 자리에서 커밋을 안하고 그 레코드 값을 계속 잡고 있는 경우에 그럴 수 있습니다." 라고 누군가의 댓글을 발견했다. 내 자리에서 커밋했는데..? 싶었지만 커밋을 한 번 더 해보고 실행해도 결과는 똑같이 무한로딩. 혹시나해서 다른 분(내 아이디 빌려드렸던)에게 물어봤더니 update를 치고 커밋을 안 한 거였다. 그래서 내가 update치려던 데이터의 값이 계속 잡혀있어서 무..

SQL 2022.10.24

[자바의 정석 - 기초편] Chapter6 - 14 ~21 메서드란? , 메서드의 선언부와 구현부, 메서드 호출, return문, 반환값

ch6-14 메서드란? 1. 문장들을 블럭으로 묶어놓은 것 - 작업단위로 문장들을 묶어서 이름 붙인 것. 2. 값(입력)을 받아서 처리하고, 결과를 반환(출력) > 메서드의 장점 - 중복코드제거, 관리 용이, 재사용가능 > 메서드의 작성 - 반복적으로 수행되는 여러 문장을 메서드로 작성 - 하나의 메서드는 한 가지 기능만 수행하도록 작성 메서드 = 선언부 + 구현부 매개변수: (작업에 필요한 값들 입력) // 0~n개 반환 타입 : 메서드가 작업한 작업결과의 타입 출력 값 : 0~1개 // 작업 결과가 여러개일 때는 ? --> 배열을 이용, 객체로 묶어서 이용(객체 이용) 반환할 것이 없을 때, 즉 출력 값이 0개 일때는, 반환 타입에 void 써줌 메서드는 클래스 영역에만 정의 가능 ch6-15 메서드..

[자바의 정석 - 기초편] Chapter6 - 9 ~ 15 클래스의 정의, 선언위치 변수종류, 클래스변수와 인스턴스변수

ch6-9 클래스의 정의(1) 클래스란 ? => 설계도라고 배웠는데, 다른 관점에서는 데이터와 함수의 결합, 사용자 정의 타입이라고 할 수 있다. 클래스 - 1번째 관점 : 설계도 - 2번째 관점 : 데이터+함수 - 3번째 관점 : 사용자 정의 타입 * 클래스 = 데이터 + 함수 1. 변수 : 하나의 데이터를 저장할 수 있는 공간 2. 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 3. 구조체 : 서로 관련된 여러 데이터(종류 관계X)를 하나로 저장할 수 있는 공간 4. 클래스 : 데이터 + 함수 ch6-10 클래스의 정의(2) 사용자 정의 타입 - 원하는 타입을 직접 만들 수 있다. ex) class Time { int hour; int minute; int second; } Time..

[자바의 정석 - 기초편] Chapter6 - 5 ~8 객체의 생성과 사용, 객체배열

ch6-5 하나의 소스파일에 여러 클래스 작성 하나의 소스파일에는 하나의 클래스만 작성하는 것이 바람직. 소스파일의 이름은 public class이름과 일치 ch6-6,7 객체의 생성과 사용 1. 객체의 생성 객체를 다루려면, 참조변수가 필요하다. 객체를 생성한 후에 대입연산자로 객체와 참조변수를 연결해준다. ex) Tv t; // Tv인스턴스를 참조하기 위한 변수 t를 선언 t = new Tv(); // Tv인스턴스를 생성한다. == 객체 생성 - 한 번에 쓰기 Tv t = new Tv(); 객체 주소가 100번지라고 가정한다면, 그 값이 대입연산자에 의해서 t에 들어감. 그럼 객체와 참조변수가 연결됨. 2. 객체의 사용 : 객체가 가지고 있는 변수와 메서드 사용. ex) t.channel = 7; /..

[자바의 정석 - 기초편] Chapter6 - 2 ~ 4 클래스와 객체, 객체의 구성요소-속성과 기능

ch6-2 클래스와 객체 클래스의 정의 : 클래스란 객체를 정의해 놓은 것 클래스의 용도 : 클래스는 객체를 생성하는데 사용 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 클래스 : 설계도 객체 : 제품 -> 가장 괜찮은 예시 ch6-3 객체의 구성요소 - 속성과 기능 객체 = 속성(변수) + 기능(메서드) 실제 하드웨어(실제TV)를 관찰하고 분석해서 속성과 기능을 뽑아내고 속성은 변수로, 기능은 메서드로 정의하면 하나의 TV라는 클래스가 만들어진다. ch6-4 객체와 인스턴스 객체 : 모든 인스턴스를 대표하는 일반적 용어 인스턴스 : 특정 클래스로부터 생성된 객체(ex_TV인스턴스) 같은용어라고 생각해도 된다. TV클래스를 가지고 제품..

Chapter6 - 1 객체지향 언어 (남궁성 강사님의 공부법 설명)

ch6-1 객체지향 언어 객체지향 언어(OOP) = 프로그래밍 언어 + 객체지향개념(규칙) OOP의 핵심기능 1. 캡슐화 2. 상속 3. 추상화 4. 다형성(젤 중요) Q. 객체지향 개념은 어떻게 공부해야 하나요? 1. 6장 (객체지향의 기본적인 내용)을 반복해서 봐야함 2. 7장의 다형성까지 공부해야함. (다형성을 모르면 추상화, 인터페이스 소용 없음) 7장(다형성, 추상화, 인터페이스...)은 조금 어려움 * 객체지향개념은 반복할수록 이해도가 올라간다. * 객체지향개념(규칙)은 외워라! * 결론 : 6장, 7장의 다형성까지 일단 공부하고 이 부분을 반복하고 요약한다. 규칙을 외운다. 이 규칙이 왜 생겼는지는 따지지않는다. 우선 외운다.

Chapter5 -24 Arrays로 배열 다루기

ch5-24 Arrays로 배열 다루기 Math클래스 : 수학관련 메서드 모아놓음 ex) Math.round() : 반올림, Math.random() : 난수 이처럼 Arrays클래스도 배열을 다루는 데 유용한 메서드들을 제공한다. 배열의 비교와 출력 - equals(), toString() 1. toString Arrays.toString(배열이름) : 배열에 저장된 내용을 문자열로 바꿔줌 : 1차원 배열에 사용 Arrays.deepToString(배열이름) : 배열에 저장된 내용을 문자열로 바꿔줌 : 2차원,다차원 배열에 사용 2. equals() Arrays.equals(배열이름,배열이름) : 1차원 배열 비교할 때 사용 Arrays.deepEquals(배열이름,배열이름) : 2차원, 다차원 배열 ..