| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- Spring API
- ci/cd
- 상속
- tag
- html
- Interface
- 카카오인증토큰받기
- GitHub_Actions
- Java
- static
- oAuth2
- Docker
- 인스턴스
- form
- 제로베이스
- 어떤 개발자?
- 백엔드공부
- MIND 2023 #후기
- button
- 예외
- 백엔드스쿨
- spring
- input
- 엔티티 매니저
- jenkins
- 엔티티 생명주기
- feignClient
- 카카오인가코드받기
- 카카오사용자정보가져오기
- 백엔드 로드맵
- Today
- Total
목록전체 글 (85)
HiDevelop
접근 제어 지시자 protected protected는 다른 패키지에 있다하더라도 상속관계에 놓이면 접근을 허용하는 접근 제어 지시자이다. private 멤버도 마찬가지로 상속되지만 선언된 클래스 내에서만 접근이 가능하기 때문에 하위 클래스에서 접근이 불가능하다. 따라서 간접적인 접근 방식을 사용해야한다. 아래 예제 getAccVal()와 같이 접근을 할 수 있다. class Accumulator{ //숫자를 누적하는 클래스 //선언된 클래스내에서만 접근이 가능하도록 private로 선언 private int val; Accumulator(int num){ val = num; } //상속관계에 놓인 클래스만 사용가능 protected void accumulate(int num){ if(num
상속은 기존의 클래스를 재활용하여 새로운 클래스를 만들기 위한 도구라고 할 수 있다. 하지만 상속을 이러한 측면에서만 보는 것은 옳지 않다. 그러한 이유는 무엇일까? - 클래스 하나를 재활용하는 것이 새롭게 디자인하는 것보다 더 큰 노력이 든다. - 재활용을 고려해서 클래스를 디자인할 경우, 설계에 필요한 시간이 몇 배 더 길어진다. - 상속을 통해 연관된 일련의 클래스에 대한 공통적인 규약을 정의할 수 있다. 물론, 이런 경우만 있는 것이 아니지만, 이렇지 않은 사례들은 매우 드물 것이다. 상속의 특성 - 상위 클래스를 상속받은 하위 클래스에서 상위 클래스에서 정의된 변수와 메소드를 사용가능하다. - 상속받은 클래스를 하위 클래서, 유도 클래스, 상속하는 클래스 상위 클래스, 기초 클래스라 부른다. 상..
package package1; import package1.StaticParameter; public class StaticParameter { public static int num = 0; public void functionA(){num++;} public void functionB(){num--;} public void functionC(){num *= num;} public static void main(String[] args) { StaticParameter testA = new StaticParameter(); StaticParameter testB = new StaticParameter(); StaticParameter testC = new StaticParameter(); System..
객체지향 프로그래밍? Java는 객체지향 언어입니다. 여기서 말하는 객체는 무엇일까요? Object(객체) 물건, 또는 대상을 뜻합니다. 예를 들어보자면, "철수가 영희에게 고백했다." 라는 문장에서 나타나는 객체는 철수, 영희 입니다. 그럼 여기서 고백이라는 행위는 어떻게 표현하면 좋을까요? 철수라는 객체에는 '고백한다' 라는 행동을 영희에게는 '고백을 받는다'라는 행동을 넣어주면 됩니다. 이처럼 현실에서 일어나는 상황에서의 대상, 사물, 그리고 행동을 있는 그대로 실현시키는 것을 객체지향프로그래밍이라고 이야기할 수 있을 것 같아요! 객체는 어떻게 구성되어있을까? 결론부터 말하자면 데이터와 기능으로 구성되어있습니다. 여기서 말하는 데이터는 상태와 같다고 생각할 수 있어요! 예를 들어보자면, 철수와 영희..
https://portal.koreatech.ac.kr/p/STHOME/ 한국기술교육대학교 종합정보시스템. - 아우누리 portal.koreatech.ac.kr
재귀함수는 문제를 해결할 때 함수 내부에서 자기 자신을 호출하여 문제를 해결하는 함수입니다. 예를 들어 2의 4승을 표현할 때 1) 2^4 = 2*2*2*2 2) 2^4 = 2*2^3 2^3 = 2*2^2 2^2 = 2*2^1 2^1 = 2 두 가지 방법으로 표현할 수 있습니다. 저희가 여기서 눈 여겨 봐야할 표현방법은 2번입니다. Square를 구할 때 Square를 통해 구하는 방법이 바로 재귀입니다. public class Nsquare { public static int nSquare(int n) { // 정수 n을 입력받아 2^n을 곱하는 메소드 int count = 0; ++count; //count++을 할 경우 메소드가 끝나야지 값이 증가하기 때문에 재귀함수가 끝나지 않으므로 ++count..
원의 넓이와 둘레 public class Circle { public double circleArea(double radius) { return Math.PI*radius*radius; //원의 넓이를 계산 } public double circumFerence(double radius) { return 2*Math.PI*radius;// 원의 둘레를 계산 } public static void main(String[] args) { // TODO Auto-generated method stub Circle cir = new Circle(); System.out.println(cir.circleArea(3.0)); System.out.println(cir.circumFerence(3.0)); } } 소수 판..
자바의 String클래스의 경우 변경이 불가능한 시퀀스를 생성하기 때문에 이미 정해진 문자열의 값을 변경할 수 없습니다. 그래서 이 대안으로 변경 가능한 시퀀스를 생성하는 클래스 StringBuilder 와 StringBuffer를 사용하면 됩니다. String 클래스는 왜 불변할까요? 그 이유는 String 클래스 내부에서 값을 final로 고정하여 값을 공유하는데 중점을 두기위해서 입니다. public final class String implements java.io.Serializable, Comparable, CharSequence, Constable, ConstantDesc { /** * The value is used for character storage. * * @implNote This..
배열안의 원소를 비교할 때 항상 아래와 같은 코드로 비교하다. 코드 자체가 복잡한 경향이 있어 단순하게 만들기 위해 찾다가 Math.min/max 메소드를 찾게되었습니다 int[] arr = {1,2,3,4,5,6,7,8,9}; int temp = arr[0]; for(int i =1; i
2차원 배열 import java.util.Scanner; public class Variable01 { public static void main(String[] args) { // TODO Auto-generated method stub int[][] array = new int[3][4]; //2차원 배열 선언 array[0][0] = 10; int[][] array2 = new int[3][];//가변 크기의 배열 선언 // array2[0][1] = 10; array2[0]의 배열은 아직 참조하는 배열이 없어 오류가 발생한다. array2[0] = new int[1]; // array2[0]에 1개짜리 배열을 참조하도록 하겠다. array2[1] = new int[2]; // array2[1]에..