개발일지/자바74 this, Getter, Setter this란 밑에 그림에서 Book이라는 기본 생성자에서 매개변수를 넣었다. 이렇게 매개변수를 넣은 생성자를 사용자정의 생성자라고 한다. 그런데 이 매개변수는 외부에서 접근 하는 변수이다. 이 매개 변수를 통해서 접근제어자의 멤머변수들 private가 붙은 변수들을 말한다 이 멤버변수(필드)에 접근하려면 this키워드를 사용해준다. this는 자기 자신의 주소값을 가리킨다. 자기자신의 주소값의 변수에 매개변수를 넣는다. this를 사용하면, 메서드의 인수나 변수에 필드와 같은 이름을 붙여도 그것들을 구분하여 사용할 수 있다 this는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할때 사용된다. 싱글톤 객체를 단 하나만 만들어야 되는 상황을 보장해야 될때 .. 개발일지/자바 2022. 9. 4. 싱글톤 싱글톤이란 외부에서 생성할 수 없고 메모리 영역에 미리 할당합니다.(Static area). 고정된 영역에 할당하므로 딱 정해진 만큼의 메모리만 사용하고, 더는 낭비하지 않습니다. 게다가 Static area에 할당된 객체는 JVM이 종료되는 즉, 프로그램이 종료되기 전까지는 계속 사용할 수 있습니다. 정해진 양의 메모리만 소비하며, 동일한 객체를 다 같이 이용하는 것. 이것이 싱글톤 패턴이 가지는 목적이라고 할 수 있다. 장점: 1. 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지 할 수가 있다. 2. 싱글톤으로 만들어진 클래스의 인스턴스는 전역이기 때문에 다른 클래스의 인스턴스들이 데이터를 공유하기 쉽다. 3. 인스턴스가 절대적으로 한 개만 존재하는 것을 .. 개발일지/자바 2022. 9. 1. equals 와 (==)의 차이점 기본적으로 equals 와 (==) 이 둘은 양 쪽에 있는 내용을 비교한 값을 boolean type으로 반환한다는 공통점이 있다. 하지만 이 둘의 차이점이 있다. 1 형태의 차이 단순한 차이는 형태의 차이이다. equals는 메소드이다. 객체끼리 내용을 비교가 가능하다. -- 메소드 == 은 비교를 위한 연산자 이다. -- 연산자 2.주소값 비교와 내용 비교 equals메소드는 비교하고자 하는 대상의 내용 자체를 비교하지만, == 연산자는 비교하고자 하는 대상의 주소값을 비교한다. 주소값이라는 것을 확실하게 집수소, 이메일주소 처럼 확정적으로 정해져서 보여지는 것은 아니지만 대상을 구별할 수 있게 하는 값이라고 알아두면된다. 아래 그림을 보면 쉽게 이해 할 수 있다. a 와 b는 같은 주소값을 가지지만.. 개발일지/자바 2022. 9. 1. 생성자, 생성자의 오버로딩, 접근지정자 생성자란 - 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' - 인스턴스 변수의 초기화 또는 인스턴스 생성시 수행할 작업에 사용 - 몇가지 조건을 제외하고는 메서드와 같다. - 모든 클래스에는 반드시 하나 이상의 생성자가 있어야 한다. * 인스턴스 초기화 - 인스턴스 변수에 적절한 값을 저장하는 것. 생성자의 오버로딩이란 생성자 오버로딩은 매개변수가 다른 생성자를 여러개 만들어내는 것이다. 단 조건이 있는데 같은 클래스 내에서 이루어져야만 하고 선언된 매개변수 타입의 순서와 개수가 달라야 한다. 구분선을 기준으로 위에 세문장은 선언된 매개변수 타입의 개수가 이미 다르기 때문에 순서를 따질 필요없이 생성자 오버로딩이 아주 잘된 모습이다. 하지만 밑에 그림에서 보면 세개의 문장에 구분선 아래 문.. 개발일지/자바 2022. 8. 31. CRUD란 CRUD란 CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다. 밑에 그림과 크게 데이터를 넣고 빼내고 CRUD의 기능 4가지안에서 다 할수가있다 기본적인 게시판을 생각해보자 게시판에 게시글을 작성한다 - Create 게시판에 글자를 조회, 읽기, 인출을 한다 - Read 게시판에 글자를 수정한다 - Update 게시판에 글자를 삭제한다 - Delete CRUD는 DB(DataBase)에서 사용하는 sql문 키워드이다. C = Create(insert) : 말그대로 게시글을 집어넣어라 .. 개발일지/자바 2022. 8. 31. 스택, 힙(메모리위치에 따른 변수구분) : 함수는 호출해서 사용하고, 함수기능이 끝나면 실행에 제어가 반환된다.(메인함수가 생성시) 메모리의 스택(stack) 영역은 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출이 완료되면 소멸한다. 스택 영역은 푸시(push) 동작으로 데이터를 저장하고, 팝(pop) 동작으로 데이터를 인출합니다. 이러한 스택은 후입선출(LIFO, Last-In First-Out) 방식에 따라 동작하므로, 가장 늦게 저장된 데이터가 가장 먼저 인출이된다. 스택 영역은 메모리의 높은 주소에서 낮은 주소의 방향으로 할당됩니다 매우 빠른 액세스 변수를 명시 적으로 할당 해제 할 필요가 없습니다. 공간은 CPU에 의해 효율적으로 관리되고 메모리는 단편화되지 .. 개발일지/자바 2022. 8. 30. Class, 메소드 클래스 하나의 틀(설계도)라고 생각하면된다. 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성됩니다. 즉, 필드(field)란 클래스에 포함된 변수(variable)를 의미한다.. 또한, 메소드(method)란 어떠한 특정 작업을 수행(기능)하기 위한 명령문의 집합이라 할 수 있다 밑에 그림에서 보면 Student(class)안에서 변수를 선언을 해줬다 위에서 변수를 선언해준뒤 Student s1 = new Student(); 라고 코드를 작성해준다. 이 코드의 의미는 Student라는 자료형을 가진 s1변수를 선언해서 new라는 키워드를 써준다. 그러면 Student의 객체를 생성해서 접근이 가능하게 된다. 접근을 하게되면 이제는 Student라는 .. 개발일지/자바 2022. 8. 30. (break, continue, do while, while)문 조건이 거짓이더라도 적어도 한 번 문장은 실행됩니다. 이 후 조건이 참/거짓인지의 여부에 따라 문장을 계속 실행할지를 결정하게 됩니다. 반복문 내에서만 사용될수 있으며, 반복이 진행되는 도중 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다 감싸고 있는 블럭의 제어를 빠져 나오는 기능을 하며 제어문에서 어떤 조건하에 반복문을 빠져나온다라는 방식으로 활용 된다. 하나의 블럭만 빠져나오기 때문에 중첩 반복문 중 내부 반복문에서 break문이 활용되었다면 외부 반복에서는 영향을 주지 않는다. 밑에 그림 설명한 것처럼 조건식이 true이면 문장이 실행되고, false이면 종료된다. for문과는 다르게 초기값과 증감식을 적는 곳이 명시되어 있지 않다. 다르게 말하면 while문의 문장을 .. 개발일지/자바 2022. 8. 29. 반복문 (for문) 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고 하며, 제어문에는 조건문과 반복문이 있다. 반복문은 조건에 따라 문장이 반복 수행되도록 한다. for문의 구조는 밑에 그림과 같으며, 조건식이 참인동안 괄호 안의 문장들을 반복하다 거짓이 되면 반복문을 벗어난다. 처음엔 초기값(변수에 최초의 값을 저장)을 실행하며, 조건식에 참일 동안 괄호 안에 문장을 반복 실행한다. 밑에 그림은 어떠한 정수값을 입력을 받으면 그 입력한 값까지 모두 더하기 연산을해서 합한 결과 값을 출력해주는 코드이다. for문을 쓰지않으면 하나 하나 전부다 작성을 해줘야한다. 하지만 for문을 사용하면 조건식이 주어질때 그 조건식이 참이 될때까지 반복적으로 수행하기때문에 코드를 압축시켜 실행을 시킬수가 있다. 개발일지/자바 2022. 8. 29. 조건문 - (if, else, if else) 개발자가 작성한 코드를 조건에 따라 코드의 실행 흐름을 다르게 동작하도록 제어하는 것이라고 할 수 있다. 밑에 그림에서 point라는 변수에 입력을 받아준다. 조건식에 point변수가 90이상일경우에 A학점을 출력을 해주다는 의미이다. 그 밑에서는 else if는 위의 조건식에 만족하지않을때 그다음의 조건을 제시하여 조건에 맞으면 실행되는 구문이다. 이렇게 계속 조건을 위에서부터 차례대로 확인하면서 해당하는 조건에 맞는 실행문이 출력이된다. 맨마지막에는 또 다른 조건이 없을시 else구문으로 마지막 실행문을 써주면된다. 개발일지/자바 2022. 8. 29. 연산자 ( 대입, 부호, 산술, 복합 대입, 증감, 감소, 관계(비교) - Day2 변수값이 -(음수)를 쓰는 경우가 있을것이다. 그럴땐 변수앞에 출력값에 변수앞에 -(음수)를 써도 된다. 하지만 그 방법 보단 자기 자신의 변수에 -(음수)를 써서 자기자신의 변수에 대입을 시켜서 사용해주는게 좋다. 일반적인 산술 연산이다. + : 합 - : 빼기 * : 곱하기 / : 나누기한 몫 % : 나누기한 나머지 number4에서는 자료형이 double이다. 값을 대입을 해줘야할때도 같은 자료형인 실수로 해줘야한다. 그런데 정수 / 실수로 계산이되고있다. 연산할때 하나의 값이라도 실수가되면 컴퓨터에서는 double(실수)로 인식하여 연산이 가능하다 연산과 대입을 동시에 하는거라고 보면된다. num1을 선언과 동시에 초기화를 시켜준다. 그리고나서 += 기호를 넣어준다 += : 자기 자신의 변수한테 .. 개발일지/자바 2022. 8. 26. 상수, 형변환(자동 형변환, 강제 형변환) - Day2 상수는 변하지 않는 수를 말한다. 상수를 사용할때는 fianl(예약어)를 사용해준다. 그리고나서 변수는 대문자로 표기를 해줘야한다. 상수를 처음에 한번 초기화를 시키면 변경이 불가하다 형변환에는 두가지가 있다. 강제 형변환과 자동형변환이다. 강제와 자동의 의미는 메모리 형태로 생각하면된다. 문자(2바이트) --> 정수(int:4바이트) 문자는 쓰이는 메모리와 정수에서쓰이는 메모리로 넣는다고 생각하면 들어갈수가있다. 왜냐고? 4바이트 즉 메모리가 크다(묵시적) 반대로 정수에서 문자로 변환시킬때는 메모리가 큰거에서 작은걸로 바뀐다. 들어갈수가없다 그렇기때문에 강제로 같은 자료형을 변환을 시켜줘야한다. 이걸 강제 형변환(명시적)이라고한다 개발일지/자바 2022. 8. 26. 이전 1 ··· 3 4 5 6 7 다음