전체 글

IT에 관심있는 사람들을 위한 블로그
Java

Java - 추상클래스

추상클래스 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스. 추상클래스(부모)와 실체클래스(자식)는 상속의 관계를 가지고 있음. 실체클래스는 추상클래스의 모든 특성(필드,메소드)를 물려받음. ackage com.example.Seven_Three; //추상 클래스 public abstract class Phone { //abstract : 추상클래스 선언 //필드 public String owner; //생성자 public Phone (String owner) { this.owner = owner; } //메소드 public void turnOn(){ System.out.println("폰 전원을 켭니다."); } public void t..

Spring

Spring - DI, IoC, Bean

▶오늘의 주제 : DI, IoC, Bean DI (의존성 주입) 을 알아보기 전에 "강한 결합"의 문제점을 보도록 하겠습니다. ▶"강한 결합"을 해결할 방법 1. 각 객체에 대한 객체 생성은 딱 1번만! 2. 생성된 객체를 모든 곳에서 재사용! ▶DI (의존성 주입)의 이해 ▶ 스프링 IoC 컨테이너 사용하기

Java

Java - 전역변수와 지역변수

▶오늘의 주제 : 전역변수와 지역변수 자바의 변수는 선언위치에 따라 크게 전역변수와 지역변수로 나뉜다 어느 위치에서든 호출이 가능하면 전역변수 특정 구역 내에서만 사용 가능하면 지역변수 전역변수의 경우는 그 내에서도 클래스 변수와 인스턴스 변수로 나뉜다 public class Test { int var1; // 인스턴스 변수 (전역변수) static int var2; // 클래스 변수 (전역변수) public void fun() { int var3; // 지역 변수 (지역변수) } } 인스턴스 변수 클래스 영역에 선언되고, 인스턴스(객체)를 생성할 때 만들어짐 인스턴스의 변수 값을 가져오기 위해선 일단 인스턴스를 생성해줘야 함 인스턴스는 독립적인 저장공간을 가지기 때문에 서로 다른 값을 가질 수 있음 클..

Java

Java - 생성자

▶오늘의 주제 : 생성자 생성자는 new 연산자로 호출되는 중괄호 {} 블록입니다. 객체 생성 시 초기화를 담당하며, 모든 클래스에 반드시 하나 이상 존재합니다. 클래스 내부에 선언을 생략하면 기본 생성자가 자동으로 추가됩니다. ▶기본 생성자 모든 클래스는 반드시 생성자가 존재하며, 생성자를 하나 이상 가질 수 있습니다. 클래스 내부에 생성자 선언을 생략했다면 중괄호 블록 내용이 비어 있는 기본 생성자를 바이트 코드에 자동 추가합니다. public class Car { } // 컴파일 public class Car { public Car() { } //자동 추가 //Car() : 기본 생성자 } Car myCar = new Car(); // Car(); 기본 생성자 ▶생성자 선언 클래스 (매개변수선언, ..

Java

Java - 필드

▶오늘의 주제 필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳입니다. 필드를 선언하고 생성한 뒤 이를 읽고 변경하는 방법을 알아보겠습니다. ▶필드 선언 필드 선언은 클래스 중괄호 {} 블록 어디서든 존재할 수 있습니다. 생선자 선언과 메소드 선언의 앞과 뒤 어떤 곳에서도 필드 선언이 가능합니다. 하지만 생선자와 메소드 중괄호 {}블록 내부에는 선언 될 수 없습니다. 생성자와 메소드 중괄호 블록 내부에 선언된 것은 모두 로컬 변수가 됩니다. 타입 필드 [ = 초기값]; 타입은 필드에 저장할 데이터의 종류를 결정합니다. 타입에는 기본타입 (byte, short, int, long, float, double, boolean)과 참조타입 (배열, 열거, 터페이스)이 모두 올 수 있습니다. 초기..

Java

Java - 객체 지향 프로그래밍

▶오늘의 주제 : 객체 지향 프로그래밍 객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍이라고 합니다. 객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것을 말합니다. 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링 이라고 합니다. 객체가 다른 객체의 기능을 이용하는 것이 바로 메소드 호출입니다. ▶객체 간의 관계 객체 관계의 종류에는 집합관계, 상용관계, 상속관계가 있습니다. 집합 관계 : 객체는 하나의 부품이고 하나의 완성품에 해당합니다. 사용 관계 : 객체 간의 상호작용을 말합니다. 상속 관계 : 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계를 말합니다. ▶객체와 클래스 자바에서는..

Algorithm

Algorithm #5

문제분석 놀이기구의 원래 이용료는 price원, 놀이기구를 N번째 이용한다면 원래 이용료의 N배를 받기로 함. 즉, 처음 이용료가 100이었다면 2번째는 200, 3번째는 300으로 요금이 인상. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지 return하는 함수를 완성하시오. 단, 금액이 부족하지 않으면 0을 return. 규칙 찾기 price는 count 만큼 배로 증가한다. = 이용금액 money - 이용금액 = result. 코딩화 package Algorism; public class test_12 { class Solution { public long solution(int price, int money, int count) { long answer = ..

Algorithm

Algorithm #4

문제분석 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" 규칙 찾기 홀수는 수로 끝나기 짝수는 박으로 끝나기 코딩화 class Solution { public String solution(int n) { String answer = ""; for(int i = 1; i

코딩 에러 및 질문

포트오류

▶오류 로그인, 회원가입 구현하는데 포트가 localhost: 5000으로 안하고 다른 서버로 이동해서 사용되어 구현 오류가 남. ▶해결 방법 아래 사진처럼 port 쓰여져 있는 곳으로 주소로 구현을 해야함. 항상 확인하고 실행하자! 소켓통신 이해가 필요!! 소켓이란? 프로세스가 네트워크 세계로 데이터를 내보내거나 혹은 데이터를 받기 위한 실제적인 창구역할 프로세스가 데이터를 보내거나 받기 위해서는 반드시 소켓을 열어서 소켓에 데이터를 써내보내거나 소켓으로부터 데이터를 읽어들어야 한다. 소캣은 프로토컬, IP주소, 포트 넘버로 정의된다. 소켓은 떨어져 있는 두 호스트를 연결해주는 도구로써 인터페이스 역할 데이터를 주고 받을 수 있는 구조체 소켓을 통해 데이터 통로가 만들어집니다. 소켓은 역할에 따라 서버..

Algorithm

알고리즘 #3

문제분석 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 규칙찾기 가로의 길이 n만큼 세로의 길이 m도 같이 늘어난다. 가로 길이 5이면 5개씩 늘어나고 세로길이는 3이면 3으로 늘어난다. 코딩화 class Solution { public String solution(String s) { String answer = ""; //짝수와 홀수인 경우로 나누어서 정리한다! 짝수면 2글자가 나오고 홀수면 1글자가 나올 것이다. if(s.length()%2==0) { answer = ..

요가하는 개발자
요가하는 개발자