개발 관련 지식/JAVA37 Getter, Setter 메소드 일반적으로 객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는다. 그 이유는 객체의 데이터를 외부에서 마음대로 읽고 변경할 경우 객체의 무결성이 깨질 수 있기 때문이다. 이러한 문제점을 해결하기 위해 객체 지향 프로그래밍에서는 메소드를 통해 데이터를 변경하는 방법을 선호한다. 메소드는 매개변수 값을 검증해서 유효한 값만 데이터로 저장할 수 있기 때문에 외부에서 데이터에 접근 하는 것은 막고 메소드는 공개해서 외부에서는 메소드를 통해 데이터에 접근하도록 유도하는 것이다. 이렇게 데이터의 값을 유요한 값으로 설정할 수 있도록 접근시켜주는 메소드가 Setter 메소드이다. void setSpeed(double speed) { if(speed < 0){ this.speed = .. 2020. 3. 31. import문 같은 패키지 안에 있는 클래스는 아무 조건없이 사용할 수 있지만 다른 패키지에 있는 클래스를 사용하려면 import로 패키지와 클래스를 불러와야한다. package com.mycompany; import com.hyundai.Car; public class Company { Car car = new Car(); } 근데 간혹 패키지 전체를 입력해서 클래스를 사용해야 하는 경우가 있다. 서로 다른 패키지에 있지만 클래스 이름이 같은 경우이다. sec.exam.hankook.Tire tire1 = new sec.exam.hankook.Tire(); sec.exam.kumho.Tire tire2 = new sec.exam.kumho.Tire(); 2020. 3. 31. 싱글톤(Singleton) 전체 프로그램에서 단 하나의 객체만 만들도록 보장해야하는 경우가 있다. 단 하나만 생성된다고 해서 이 객체를 싱글톤이라고 한다. 싱글톤을 만들려면 클래스 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아야 한다. 생성자를 외부에서 호출할 수 없도록 하려면 생성자 앞에 private 접근 제한자를 붙여주면 된다. 그리고 자신의 클래스 타입인 정적 필드를 하나 선언하고 자신의 객체를 생성해 초기화 한다. 정적필드도 private 접근 제한자를 붙여 외부에서 필드값을 변경하지 못하도록 막는다. 대신 외부에서 호출 할 수 있는 정적 메소드 getInstance()를 선언하고 정적필드에서 참조하고 있는 자신의 객체를 리턴해준다. 이것이 싱글톤을 만드는 코드이다. public class Singleton{ .. 2020. 3. 31. 객체와 클래스 클래스 메모리에서 사용하고 싶은 객체가 있다면 우선 설계도로 해당 객체를 만드는 작업이 필요하다. 객체를 만들기 위한 설계도가 클래스이다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스를 통해 생성된 객체를 클래스의 인스턴스라고 한다. 하나의 클래스로부터 여러 개의 인스턴스를 만들 수 있는데, 이것은 동일한 설계도로부터 이러 대의 자동차를 만드는 것과 동일하다. main() 메소드가 없는 클래스는 객체 생성 과ㅏ정을 거쳐 사용해야 한다. 일반적으로 파일당 하나의 클래스를 선언하긴 하는데, 하나의 파일에 두 개의 클래스 선언도 가능하다. 주의할 점은 파일 이름과 동일한 이름의 클래스에만 public 접근 제한자를 붙일 수 있다. // Car.java public class Car .. 2020. 3. 30. 객체 지향 프로그래밍 객체 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것. 객체는 속성과 동작으로 구성되어 있다. 자동차로 예를 들면 색상, 모델명 등이 속성이고 달린다, 멈춘다 등이 동작이다. 자바에서는 속성을 필드(field), 동작을 메소드(method)라고 한다. 현실 시계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링이라고 한다. 즉, 현실 세계 객체의 속성과 동작을 소프트웨어의 필드와 메소드로 정의하는 과정이다. 객체 지향 프로그래밍의 특징 추상화 어떤 영역에서 필요로 하는 공통의 필드나 메소드를 추출하는 것이다. 공통된 추상적인 특징을 파악해서 이를 하나의 개념으로 다룬다는 것이다. 추상적인 공통점들을 클래스로 만들어 놓고, 상세한 부분을 .. 2020. 3. 29. Spring boot - 5. JPA test CRUD 만들기 먼저 MySQL Workbench로 test 스키마에 테이블을 만든다. 테이블을 생성할 때 컬럼은 snake case를 사용해서 구분해야할 단어 사이에 _(언더바)를 넣는다. 그리고 user에 대한 model을 만든다. model 패키지 안에 entity 패키지를 만들고 그 안에 User 클래스를 만든다. user 테이블 컬럼에 맞춰서 camel case를 사용하여 User 클래스 다음과 같이 만든다. package com.example.test.model.entity; import lombok.Data; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @.. 2020. 3. 23. 이전 1 2 3 4 5 6 7 다음