전체 글
-
학원 DAY10. this()기록 2022. 9. 26. 23:29
this() => this 메소드 - this()는 한 생성자에서 다른 생성자를 호출할 때 사용하는 메소드다.(생성자 안에서만 사용할 수 있다.) - 생성자 메소드 안에서 다른 생성자를 호출할 때는 클래스명() 대신 this()를 사용한다. - 매개변수와 내가 인자로 적은 값과 일치하는 매개변수 구성을 갖고 있는 생성자를 실행할 때 쓰는 것이 this()인 것이다. - 생성자 메소드에서 다른 생성자 메소드를 호출할 때는 반드시 수행문의 첫줄에 this()를 적어야 한다. - 생성자 메소드가 여러개 재정의되어 있을 때는 해당 생성자의 매개변수에 맞게 this(인자, 인자, 인자...)의 형태로 호출하면 된다. super(); => 부모 클래스의 기본 생성자 메소드를 호출한다.
-
학원 DAY10. this기록 2022. 9. 26. 21:11
this - this는 인스턴스 자기 자신을 가리키는 키워드다. - 모든 객체 안에는 this라는 이름의 변수가 자동으로 생성된다. - this는 생성된 객체 자기 자신의 주소값을 가지고 있다. this 키워드는 이 클래스를 기반으로 생성된 인스턴스를 참조한다. - 객체 외부에서 인스턴스 멤버에 접근하기 위해 참조 변수를 사용하는 것과 마찬가지로 객체 내부(인스턴스 메소드와 생성자에서)에서도 인스턴스 멤버(멤버변수나 멤버메소드)에 접근하기 위해 this를 사용할 수 있다. - this는 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용된다. - 객체(클래스) 안에서만 사용할 수 있다. 외부에서는 못 쓴다. public class EmployeeA..
-
학원 DAY10. 생성자기록 2022. 9. 18. 17:02
생성자 (Constructor) 생성자는 메소드다. 생성자는 클래스의 이름과 동일한 이름을 가진 메소드다. 그래야 생성자로서의 기능을 가진다. 생성자 메소드는 반환타입이 없다. (void 조차도 적지 않는다.) 기본생성자( Default Constructor) 메소드 형식 : public Book() { } 기본 생성자 메소드는 다른 생성자가 하나도 없을 때 컴파일러가 자동으로 실행파일에 추가한다. 개발자가 소스파일에 생성자를 정의하지 않았더라도, 실행파일에 기본 생성자는 포함되어 있다. 따라서, 생성자를 정의하지 않았지만, 객체 생성시 기본생성자를 new 키워드 다음에 이와 같이 Person person = new Person() 적을 수 있었던 것이다. 생성자 메소드는 객체 생성할 때 new라는 연산..
-
학원 DAY9. 메소드(2)기록 2022. 9. 17. 22:38
package day9; public class Sample3 { /* * 정수 2개를 전달받아서 그 합계를 화면에 출력하는 메소드 * 반환타입 : void * 메소드명 : plus * 매개변수 : int x, int y */ public void plus(int x, int y) { int z = x + y; System.out.println("합계: " + z); } /* * 정수 2개를 전달받아서 더 큰 정수를 반환하는 메소드 * 반환타입 : int * 메소드명 : max * 매개변수 : int x, int y * if문을 사용해서 구현하세요. */ public int max(int x, int y) { if (x >= y) { return x; } else { return y; } } /* * 정..
-
학원 DAY9. 메소드의 매개변수, 반환타입, 메소드 중복정의(오버로딩)기록 2022. 9. 17. 21:49
메소드의 매개변수(Parameter) - 매개변수는 메소드가 작업을 수행하는데 필요한 입력값을 저장하기 위한 변수다. - 매개변수는 0개 이상 정의할 수 있다. - 매개변수의 타입은 기본자료형(정수, 실수, 불린, 문자)과 참조자료형(문자열, 배열, 객체)이 모두 가능하다. - 메소드를 호출하는 측에서는 반드시 매개변수에 맞게 인자(Argument)값을 전달해야 한다. call by value 값만 전달했을 때는 사본을 전달한 것이기 때문에 원본 객체의 속성을 변경할 수 없다. Call by value라는 것은 그대로 해석하면 '값에 의한 호출'이다. 메소드로 인자값을 넘길때 그 값을 복사하여 넘기는 형태이다. 따라서 이 방식으로 메소드 호출을 하면 메소드 내에서는 복사된 값으로 작업을 하기 때문에 원래..
-
학원 DAY8. 메소드기록 2022. 9. 17. 17:05
메소드 : - 메소드는 이름 있는 코드 블록이다. - 메소드는 객체의 구성요소 중 기능을 담당한다. - 메소드는 선언부와 구현부로 구성된다. - 메소드의 선언부는 접근제한자 반환타입 메소드이름(타입 매개변수명, 타입 매개변수명, ...) 으로 구성된다. - 메소드의 구현부는 해당 메소드가 수행하는 작업에 대한 수행문이 포함되어 있다. 접근제한자 반환타입 메소드이름(매개변수타입 매개변수명, 매개변수타입 매개변수명,...) { 수행문; 수행문; } * 접근제한자 : 이 메소드의 공개범위를 지정한다. (전체 공개, 패키지 공개, 비공개) 메소드는 대부분 전체공개로 지정한다. public 접근제한자는 메소드를 전체공개시킨다. private 접근제한자는 메소드를 비공개시킨다. * 반환타입 : 이 메소드의 최종 결..
-
학원 DAY7. 객체지향 프로그래밍기록 2022. 9. 17. 16:55
객체지향 프로그래밍이란? - 부품에 해당하는 객체들을 만들고, 그 객체들을 조합해서 소프트웨어를 만드는 개발 방식이다. - 부품에 해당하는 객체를 생성하기 위한 설계도가 필요하다. - 완성품 객체를 모델링하고, 집합관계에 있는 부품객체와 사용관계에 있는 객체들을 하나씩 설계 후 조립하는 방식으로 프로그램을 개발한다. (모델링이란, 어떤 객체가 필요하고, 객체들 간의 조립은 어떻게 해야하는지 등을 설계하는 과정을 모델링이라고 한다.) 객체지향 프로그래밍 언어의 주요 장점 - 코드의 재사용성이 높다. : 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있다. (상속이라는 특징 때문에) - 코드의 관리가 용이하다. : 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.(조립,..
-
DAY6. 향상된 FOR문 (Enhanced-for문)기록 2022. 9. 9. 23:21
* Enhanced-for문 자료형[] 배열변수명 = {값1, 값2, 값3, 값4}; for (자료형 변수명 : 배열변수명) { 수행문; } - 향상된 for문의 우항에는 배열/콜렉션(값이나 객체를 여러 개 저장하고 있는 객체)를 참조하는 변수명이 위치한다. - 향상된 for문은 우항에 지정된 배열/콜렉션에 저장된 요소(값 혹은 객체)의 처음부터 끝까지 순서대로 데이터를 꺼낸다. - 향상된 for문은 우항에 지정된 배열/콜렉션에서 꺼낸 값을 좌항에 정의된 변수에 저장하고, 수행문을 실행하는 작업을 반복한다. - 향상된 for문을 사용하면 index를 사용하지 않고도 배열/콜렉션에 저장된 요소를 처음부터 끝까지 꺼낼 수 있다. (배열을 처음부터 끝까지 다룰 때 향상된 FOR문을 사용한다.) - 추출된 값이..