본문 바로가기
  • 문과생의 백엔드 개발자 성장기

|Backend.DevLog49

16. Java - this, 객체간의 협력 this가 하는 일 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출 할때 사용 자신의 주소(참조값)을 반환 함 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조변수가 가지는 주소 값과 동일 한 주소 값을 가지는 키워드 public void setYear(int year) { this.year = year; } 생성자에서 다른 생성자를 호출 하는 this 클래스에 생성자가 여러 개 인경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 없음 public class Person { String name; int age.. 2022. 6. 30.
15. Java - 접근 제어 지시자, 정보은닉, 캡슐화 접근 제어 지시자 (accesss modifier) 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 private : 같은 클래스 내부에서만 접근 가능 ( 외부 클래스, 상속 관계의 클래스에서도 접근 불가) 아무것도 없음 (default) : 같은 패키지 내부에서만 접근 가능 ( 상속 관계라도 패키지가 다르면 접근 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public : 클래스의 외부 어디서나 접근 할 수 있음 get()/ set() 메서드 private 으로 선언된 멤버 변수 (필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공 되는 경우 r.. 2022. 6. 29.
14. Java - 참조자료형 변수 참조 자료형 변수의 자료형 클래스형으로 변수를 선언 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름 참조 자료형을 사용 할때는 해당 변수에 대해 생성하여야 함 (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) 참조 자료형 정의하여 사용하기 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 불합리 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목들의 변수의 타입으로 선언 선언된 Subject 변수는 생성된 인스턴스가 아니므로, Student의 생성자에서 생성하여 사용 Student.java package ch09; public cla.. 2022. 6. 29.
13. Java - 생성자(constructor), 오버로딩 생성자 생성자 기본 문법 ([ 2022. 6. 29.
12. Java - 함수, 메서드 , 인스턴스 , 스택, 힙 ⭕️ 변수의 종류 1) 멤버 변수 - 클래스 멤버로 선언되는 변수, 메서드 외부에 선언됨 ① 클래스 변수 - 변수 선언 시 static 키워드가 선언된 메서드 - 프로그램 시작시 메모리에 개체 생성되어 프로그램 종료시까지 계속 남아있음 ② 인스턴스 변수 - 클래스로 선언되었지만 static 선언되지 않은 변수 - 클래스 당 1개만 프로그램 시작 전에 생성됨 - 해당 인스턴스가 참조되고 있다면 계속 사용 가능 2) 지역 변수 - 메서드 안에 선언된 변수, 해당 메서드에서만 사용 가능 - 메서드 실행시 메모리에 생성되어 메서드 종료시 자동 삭제 - 메서드 내 어디서든 호출 가능. 단, 선언한 다음 사용함 출처: https://bsj10k2.tistory.com/23 [사는거 징그럽다...:티스토리] 함수란 .. 2022. 6. 29.
11. Java 객체지향 프로그램 객체 (Object) 의사나 행위가 미치는 대상 ( 사전적 의미 ) 구체적, 추상적 데이터의 단위 ( 학생, 회원, 생산, 주문, 배송 ) 객체 지향 프로그램과 절차 지향 프로그래밍 아침에 일어나 학교를 가는 과정을 예를 들어 봅시다. 절차 지향 프로그래밍 : 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다-> 요금을 지불한다 -> 학교에 도착 -시간이나 사건의 흐름에 따른 프로그래밍 객체 지향 프로그래밍 객체 지향 프로그램 구현방법 객체를 정의 각 객체 제공하는 기능들을 구현 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력 구현 클래스는 객체의 청사진(blueprint) 입니다 객체의 속성은 클래스의 멤버 변수(member variable)로 선언 함 학생 클래스 p.. 2022. 6. 29.
10. Java 반복문 - 중첩 반복문, break, continue 중첩 반복문이란? 반복문 내부에 또 다른 반복문이 있음 여러 겹으로 반복문을 겹쳐서 구현 가능 (단 수행시간에 문제가 발생할 수 있음) 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함 구구단을 for와 while로 구현해 보자 package ch20; public class NestedLoopTest { public static void main(String[] args) { int dan = 2; int count = 1; for( ; dan 2022. 6. 29.
09. Java 반복문 - while, for 문 while문 조건이 참(true)인 동안 반복수행하기 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문 조건이 맞지 않으면 반복하던 수행을 멈추게 됨 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨 예) 달리는 자동차, 일정 횟수 만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨등 수행문을 수행하기 전 조건을 체크하고 그 조건의 결과가 true인 동안 반복 수행 while 문 예제 1부터 10까지 더하여 그 결과를 출력해 보자 package ch17; public class WhileTest { public static void main(String[] args) { int num = 1; int sum = 0; while( num 2022. 6. 28.
08. Java 조건문 - if , switch-case 문 조건문 이란? 주어진 조건에 따라 다른 실행이 이루어 지도록 구현 '재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다' 를 구현 한다면 만약에 (재산이 1억 이상이면){ 세금을 100만원 낸다 } 그렇지 않으면 { 세금을 내지 않는다 } if문 문법 if(조건식){ 수행문; // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨 } // 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음 if - else 문 문법 if( 조건식) { 수행문1; // 조건식이 '참'인 경우에 수행됨 } else{ 수행문2; // 조건식이 '참'이 아닌 경우에 수행됨 } package ch14; import java.util.Scanner; public class I.. 2022. 6. 28.