JAVA • 왜 getter, setter 함수를 써야하는지? 일반적으로 프로그래밍시 객체들의 데이터(필드)를 외부에서 직접적으로 접근하는 것을 막아놓습니다 필드들을 private 접근 제한자로 막아두고, 각 필드의 Getter, Setter로 접근하는 방식 왜??? 객체의 무결성을 보장하기 위함입니다 사람 몸무게는 음수값을 가질 수 없습니다 그렇기에 외부에서 직접적으로 접근해서 음수로 변경하는 경우 해당 객체의 무결성이 깨지는 상황이 발생합니다 그렇기에 필드를 private 으로 만들어 외부의 접근을 제한한 후 , Setter 를 사용하여 전달받은 값을 내부에서 가공해 필드에 넣어주는 방식을 사용합니다 또한 필드를 가져올 때도, Geeter 를 사용해 본 필드의 값을 숨긴 채, 내부에서 가공된 값을 꺼..
다형성이란? 다형성이란 여러 개의 형태를 가질 수 있다는 의미입니다. 하나의 부모타입 참조변수가 여러 자식 타입의 인스턴스를 가질 수 있는 것! 특징 하나의 부모타입이 여러 자식타입을 가질 수 있다 유연하고 변경에 용이 확장성이 뛰어납니다 예시 정렬 - 퀵 , 선택, 삽입 등 정의 오버로딩 VS 오버라이딩오버라이딩 상속관계에 있는 클래스 간에 같은 이름의 메서드를 정의하는 기술 자식클래스가 부모클래스에서 선언된 것과 같은 메서드를 가질 때, 메서드 오버라이딩이라고 함 특징 오버라이드 하고자 하는 메서드가 상위 클래스에 존재 메서드 이름이 같음 메서드 파라미터의 개수, 파라미터의 자료형이 같음 메서드의 리턴형이 같음 상위 메서드가 동일하거나 내용이 추가되어야 함 오버로딩 같은 메서드라도 매개변수만 다르면 ..
06.1 this 예약어 자신의 메모리를 가리키는 this 생성된 인스턴스 스스로를 가리키는 예약어 참조변수 인스턴스를 가리키는 변수 출력시 ‘클래스 이름@ 메모리 주소’ 참조변수 출력 == this 출력 this가 인스턴스 자신을 가리킨다!! 생성자에서 다른 생성자를 호출하는 this class Person { int age; String name; boolean isMarried; int kidCount; public Person() { this(29, "이름없음"); //this로 Person(String , int) 생성자의 호출 } // 디폴트 생성자 public Person(int age, String name) { this.age = age; this.name = name; } //매개변수 ..
5-1. 객체 지향 프로그래밍과 클래스객체와 객체 지향 프로그래밍객체 : 주문, 생산 , 관리 ,,,,(안보이는 것) + 사람 , 자동차,건물 (보이는것)객체 지향 프로그래밍 : 어떤 대상(객체)을 가지고 프로그래밍하는 것생활 속의 객체절차 지향 프로그래밍일어나는 일을 시간순으로 프로그래밍객체 지향 프로그래밍객체의 정의하고 객체 간 협력을 프로그래밍클래스클래스를 정의한다객체를 클래스로 구현하는 것멤버 변수클래스의 속성..class Student { int studentID; //학번 String studentName; //학생 이름 int grade; // 학년 String address; // 사는 곳곳 }클래스를 만들떄 class 예약어 사용사용할 객체의 속성 > 클래스의 변수로 선언모든 요소가 클래..
변수값을 저장할 공간자료형값의 형태 ( 정수형,,, 문자형... etc)선언자료형 선택+ 변수의 이름 정해주는 과정 : 선언대입(=)오른쪽의 값을 왼쪽에 대입변수 초기화변수에 처음 값을 대입하는 과정변수 이름 명명영문자 + 숫자 + 특문($ , _ )숫자 시작 불가이미 사용중인 예약어 불가능1.카멜 표기법 낙타 등같이 첫 소문자단어 + 두번째 단어부터는 대문자로 시작함 2.파스칼 표기법 전부 시작이 대문자입니다 3. 스네이크 표기법 모든 단어 소문자이고 단어단어 마다 _ 로 구분 메모리프로그램이 실행되는 작업의 공간변수가 선언되면 해당 하는 메모리에 저장됩니다자료형기본 자료형 , 참조 자료형기본 자료형은 자바 라이브러리에서 기본으로 정해져있고, 메모리할당이 이미 되어있음기본 자료형정수 자료형양수, 음수 ..
DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다 DFS는 스택 자료구조(혹은 재귀 함수)를 이용하며, 구체적인 동작 과정은 탐색 시작 노드를 스택에 삽입하고 방문 처리 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있다면, 그 노드를 스택에 넣고 방문 처리. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼냄 더 이상 2번의 과정을 수행할 수 없을 때까지 반복 DFS 문제 예시 프로그래머스 - 타겟넘버 재귀로 모든 경우의 수(+,-)로 다 넣어서 구현 만들어진 최종의 값이 target과 동일한 경우 answer++ class Solution { int answer = 0; public int solution(int[] numbers,..
문제 생성일: 2022년 1월 5일 오후 5:06 기본적인 코드 구성 및 용도 확인 자바는 파일명과 class 명이 동일해야합니다 HelloWorld2 >> Hello... 대소문자도 같아야합니다. 프린트문앞에 싱글 쿼터가 아니라 더블 쿼터가 들어가야합니다 public class Java100_variable_HelloJava{ public static void main(String[]args) { System.out.println("Hello_ world"); } } 문2 접근제한자 ** 클래스나 메서드에 접근할 수 있는 범위를 지정 >> 접근제한자, 접근 제어자 public 누구나 이용가능한 메서드입니다 private 해당 클래스에서만 사용가능합니다 protected 해당 클래스 + 상속한 다른 친구..
- Total
- Today
- Yesterday
- ASCII코드
- 2019 카카오 개발자 겨울 인턴십
- 크레인 인형뽑기 게임
- 프로그래머스
- 자료표현
- 1063
- 오
- Git
- 프로그래머스 # 음양더하기
- 브루트포스
- java
- 알고리즘
- stack
- 백준
- 2진수
- 인형뽑기
- 카카오 코딩테스트
- K번째수
- solved.ac
- 킹
- 10진수
- 자료구조
- 코딩테스트
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |