본문 바로가기
반응형

생성자6

[Python] 파이썬과 객체 지향 프로그래밍 파이썬 프로그래밍를 읽고, 정리한 글입니다. 목차 · 객체 지향 프로그래밍 - 클래스의 형식과 선언 - 클래스로 새로운 타입 작성하기 · 클래스의 포함관계 · 클래스의 상속관계 - 클래스 상속관계의 개념 - 다중 상속의 이해와 구현 - 추상클래스의 이해와 구현 객체 지향 프로그래밍 · 객체는 상태와 행동을 갖는다. - 상태(state): 객체가 가지고 있는 속성 또는 특성 - 행동(behavior): 객체가 가지고 있는 기능 또는 할 수 있는 행동 · 객체 지향 프로그래밍은 실세계의 제품이 갖는 상태와 행동을 소프트웨어 객체의 멤버변수와 메서드(클래스 내에 포함되어 행위를 표현하는 함소)로 모델링하는 기법이다. - 실세계의 제품이 갖는 특성이나 상태를 나타내기 위해 멤버변수를 이용한다. - 이러한 특성이.. 2022. 3. 30.
JUnit의 @BeforeAll(@Before)대신 생성자를 사용해도 괜찮지 않을까? JUnit은 애너테이션을 통해서 메서드의 역할을 정할 수 있다. 이때, 애너테이션이 붙은 메서드는 실행 순서가 정해진다. JUnit5를 기준으로 @BeforeAll -> @BeforeEach -> @Test -> @AfterEach -> @AfterAll 순서로 메서드가 실행된다. 이때, 문득 떠오른 생각이 있었다. @BeforeAll이 모든 테스트 메서드 실행 전 수행되고 주어진 테스트에 대해 한 번만 실행된다면, 그냥 생성자를 사용하면 되는게 아닐까? class 블라블라Test { @BeforeAll static void setUp() { } } vs class 블라블라Test { 블라블라Test() { } } 어떤 것을 사용하는게 맞을까? 결론적으로 생성자 대신 @BeforeAll을 사용하는 것이 .. 2021. 12. 23.
[MyBatis] 오류 해결: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in XXX 오류 해결: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in XXX MyBatis가 자동으로 객체를 생성할 때는 기본 생성자(매개변수가 없는)가 필요하다. 기본 생성자가 없다면 위와 같은 에러가 발생한다. 아래와 같이 클래스의 기본 생성자를 추가하면 문제가 해결된다. public class DrivingInfo { public DrivingInfo() {} } 2021. 8. 20.
[Java] 접근 제한자(제어자) - public, protected, default, private [java] 접근 제한자 (제어자)- public, protected, default, private 클래스를 설계할 때 외부 클래스에서 접근할 수 있는 멤버와 접근할 수 없는 멤버로 구분해서 필드, 생성자, 메소드를 설계하는 것이 바람직하다. 그 이유로 다음과 같은 상황이 있을 수 있기 때문이다. 1. 특정 객체 생성을 막기 위한 생성자 호출 제한 2. 객체의 특정 데이터를 보호하기 위한 필드에 접근 제한 3. 특정 메소드 호출을 막기 위해 접근 제한자의 종류: public, protected, default(package-private), private ✅ public: 누구나 접근 public class Main(){ } ✅ protected: 같은 패키지 or 상속받은 경우 접근 protected.. 2021. 8. 12.
[Java] 자바의 클래스 - WHITESHIP LIVE 자바 스터디 유튜브에서 백기선님이 진행하는 온라인 스터디를 진행 중입니다. 아래는 스터디의 링크입니다. www.youtube.com/watch?v=rPYhY5kFD5k github.com/whiteship/live-study 클래스란? 객체지향 프로그래밍에서 사용하고 싶은 객체가 있다면 설계도로 해당하는 객체를 만드는 작업이 필요하다. 자바에서는 설계도가 바로 클래스다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다. 클래스를 정의하는 방법 1. 클래스이름.java 형태의 소스 파일을 만든다. 2. 소스 파일을 열고 아래와 같이 클래스를 선언한다. class 클래스이름{ } 클래스는 public 접근 제한자와 함께 선언할 수도 있다. 이것.. 2020. 12. 18.
[Java] super - 조상클래스 참조하기 1. super란? super는 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용하는 참조변수입니다. 조상의 멤버와 자신의 멤버를 구별하는데 사용되다는 점을 제외하고는 super와 this는 근본적으로 같습니다. 모든 인스턴스메서드에는 자신이 속한 인스턴스의 주소가 지역변수로 저장되는데, 이것이 참조변수인 this와 super의 값이 됩니다. 2. 사용 이유 상속받은 멤버와 자신의 멤버와 이름이 같을 때 super를 붙여서 구별할 수 있습니다. 조상 클래스에 선언된 멤버변수와 같은 이름의 멤버변수를 자손 클래스에서 중복해서 정의하는 것이 가능하기 때문에 필요한 기능입니다. 멤버변수와 지역변수의 이름이 같은 때 this를 붙여서 구별하는 것과 유사합니다. 3. 사용 방법 public cla.. 2020. 4. 6.
반응형