본문 바로가기

분류 전체보기

(232)
[Java 기본] 접근 제어자 사용 - 필드, 메서드 접근 제어자 사용 - 필드, 메서드패키지의 위치에 주의하며 실습해보자.  AccessData.javapackage access.a;public class AccessData { public int publicField; int defaultField; private int privateField; public void publicMethod() { System.out.println("publicMethod 호출:" + publicField); } void defauiltMethod() { System.out.println("defaultMethod 호출:" + defaultField); } private void privateMethod..
[Java 기본] 접근 제어자 종류 접근 제어자 종류private : 모든 외부 호출을 막는다. defualt(package-private) : 같은 패키지 안에서 호출은 허용한다.protected : 같은 패키지 안에서 호출은 허용한다. 패키지가 달라도 상속 관계의 호출은 허용한다. public : 모든 외부 호출을 허용한다.  package-private접근 제어자를 명시하지 않으면 defualt 접근제어자가 적용된다. default 보다는 package-private이 더 정확한 표현이다. 왜냐하면 해당 접근 제어자를 사용하는 멤버는 동일한 패키지 내의 다른 클래스에만 접근이 가능하기 때문이다.  접근 제어자 사용 위치접근 제어자는 필드, 메서드, 생성자에 사용한다.  접근 제어자 접근 제어자의 핵심은 속성과 기능을 외부로부터 숨기는..
[Docker 실습] Spring boot, MySQL 컨테이너 동시에 띄워보기 Spring boot, MySQL 컨테이너 동시에 띄워보기실제로 서비스를 구성하다 보면 백엔드와 db를 같이 띄우는 경우가 많다. Spring boot, MySQL컨테이너를 동시에 띄워보자. 1. start.spring.io    2. 간단한 코드를 작성해보자. AppController.javapackage com.example.springWithMySQL;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class AppController { @GetMapping("/") public Str..
[Docker 실습] MySQL, Redis 컨테이너 동시에 띄워보기 MySQL, Redis 컨테이너 동시에 띄워보기1. 폴더를 생성하고 vs code로 폴더를 오픈한다. 2. 폴더에 compose.yml 파일 생성services: my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: pwd1234 volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 my-cache-server: image: redis ports: - 6379:6379  3. 실행 docker compose up -d 4. docker compose psmysql, redis 둘 다 떠있는 것을 확인할 수 있다.  5. docker compose..
[Docker 실습] Docker Compose로 백엔드(Spring boot) 실행시키기 Docker Compose로 Spring boot 실행시키기1. 스프링부트 프로젝트 생성하기. 이전에 생성한 프로젝트로 실습해도 된다.  2. Dockerfile 작성FROM openjdk:17-jdkCOPY build/libs/*SNAPSHOT.jar app.jarENTRYPOINT ["java", "-jar", "/app.jar"] 3. build./gradlew clean build 4. compose.yml 파일 생성services: my-server: build: . ports: - 8080:8080 build: .  => 도커 파일을 기반으로 빌드한 이미지를 쓰겠다는 의미   : 뒤에는 도커파일이 위치한 경로를 써준다. compose.yml을 기준으로 상대로 경로를 적어주..
[Java 기본] 접근 제어자 이해 접근 제어자란?자바는 public, private 같은 접근 제어자(access modifier)를 제공한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다.  예제를 통해 자세히 알아보자.  예제스피커에 들어가는 소프트웨어를 개발해야 한다. 스피커의 음량은 절대로 100을 넘으면 안된다는 요구 사항이 있다. 100을 넘어가면 스피커가 고장난다.  음량 높이기, 음량 내리기, 용량 확인 세 가지 기능을 제공하는 스피커 객체를 만들어보자.   package access;public class Speaker { int volume; Speaker(int volume){ this.volume = volume; } v..
[Java 기본] 패키지 패키지쇼핑몰 시스템을 만든다고 가정해보자. 프로그램이 작고 단순해서 클래스가 몇 개 없다면 상관 없겠지만, 프로그램이 커지면 어떻게 될까?관련 기능을 분류해서 관리하고 싶을 것이다. 컴퓨터에는 디렉터리라는 기능이 있다. 자바도 이런 개념을 개공하는데 이것이 패키지이다.  패키지 사용패키지 'pack'을 만들어보자. package pack;public class Data { public Data(){ System.out.println("패키지 pack data 생성"); }} 상단에 package를 명시해야 한다.  이번에는 위에서 생성한 패키지 하위에 패키지를 만들어보자.  package pack.a;public class User { public User(){ ..
[Java 기본] 생성자 - 오버로딩과 this() 오버로딩생성자도 메서드 오버로딩처럼 매개변수만 다르게 해서 여러 생성자를 만들 수 있다. MemberConstruct.javapublic class MemberConstruct { String name; int age; int grade; //생성자 추가 MemberConstruct(String name, int age) { this.name = name; this.age = age; this.grade = 50; System.out.println("생성자 호출 name = " + this.name + ", age = " + this.age + ", grade = " + this.grade); } MemberConst..