추상 클래스 abstract class 여러 클래스에 공통적으로 사용될 수 있는 클래스를 바로 작성하기도하며, 기존 클래스들의 공통적인 부분을 뽑아 추상클래스로 만들어 상속하는 경우도 있다. 추상 클래스는 미완성 메서드를 포함하고 있다. 추상 클래스는 상속을 통해 구현해주어야 한다. 추상 클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있기 때문에 조상클래스로 중요한 의미가 있다. 추상 클래스를 선언하는 방법은 클래스 앞에 키워드 'abstract'를 붙이면 된다. // abstract class 클래스 이름 {} abstract class Player { abstract void play (int pos); // 추상 메서드 abstract void stop(); // 추상 메서드 } 추상 메서..
제어자 (modifier) 제어자 (modifier)는 클래스, 변수, 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여 제어자의 종류는 접근 제어자와 그 외 제어자로 나눌 수 있다. 클래스나 멤버변수와 메서드에 주로 사용되며, 하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능 단, 접근 제어자는 4가지 중 하나만 선택해서 사용할 수 있다. 접근 제어자는 멤버 또는 클래스에 사용되어 해당 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역활을 한다. 접근 제어자 public, protected, default, private (4가지 중 1개만 사용 가능) 그 외 제어자 static, fianl, abstract, native, transient, synchronized, vol..
오버 라이딩 (overriding) 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. 오버 라이딩 조건 선언부가 서로 일치해야 한다. 자손 클래스에서 오버 라이딩하는 메서드는 조상 클래스의 메서드와 이름, 매개변수, 반환 타입이 같아야 한다. ※ 단, 접근 제어자와 예외는 제한된 조건 하에서만 다르게 변경할 수 있다. 다시 한 번 집고가는 오버로딩과 오버라이딩 차이 오버로딩 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 (메서드 이름이 같아야하며, 매개변수의 개수 또는 타입이 달라야한다) 오버라이딩 상속받은 메서드의 내용을 변경하는 것 (선언부가 일치해야한다) class Parent { void parentMethod() {} } class Child exten..
초보 웹 개발자를 위한 스프링 5 프로그래밍 입문(최범균 저)의 메이븐 프로젝트를 생성한 뒤 회원가입 예제 프로젝트 만들기를 따라 하다 main 클래스를 실행했을 때 다음과 같은 오류가 발생했다. 구글에 검색했을 때 많이 검색되는 내용이 없어서 당황했지만 다행히 해결 방법을 기재해둔 블로그 글을 보고 어떤 오류인지 알 수 있었다. Cannot load configuration class 원인 구글에 검색해보니 설정 클래스를 로드할 수 없다는 오류였는데, 책 출판 당시 스프링 버전과 현재 내 버전이 달라서 오류가 발생한 것 책의메이븐 pom.xml 내부에 기재된 스프링 버전은 5.0.2으로 기재되어 있었음. org.springframework spring-context 5.0.2.RELEASE // 책 p..
이클립스 초기 세팅 [Window] → [Preferences] → [General / Workspace] → [Text file encoding] → [Orher] → [UTF-8] ✔ 이클립스 초기 세팅 때 인코딩 설정을했었는데 예제 프로젝트 실행 시 콘솔창의 한글이 이상하게나왔다. 📌 해결 방법 이럴 땐 다시 세팅을 해야한다고해서 구글에 찾아보니 아래와 같이 설정해주니까 제대로 출력되었다. [Run] → [Run Configurations...] → [java Application] → [main 클래스] → [Commen] → [Orher] → [MS949] ✔ 설정 후 콘솔창 재 실행 시 한글 깨짐 없이 잘 나오는 것을 확인할 수 있다
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 스프링의 특징 의존 주입 (DI) 지원 AOP (Aspect-Orignted Programing) 지원 MVC 제공 JDBC, JPA 연동 선언적 트랜젝션 DB 연동 지원 의존 (Dependency) 객체 간의 의존을 의미 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 '의존'이라고 표현 의존은 변경에 의해 영향을 받는 관계를 의미 → 기존 클래스 내부에서 직접 의존 객체를 생성하는 것이 쉬운 방법이지만 유지보수 관점에서 문제점을 유발할 수 있다. 그래서 Spring DI를 통한 의존 처리 DI이라는 방식을 이용하여 모듈 간의 결합도를 낮춘다. 대신 의존 객체를 전달받는 방식 의존 객체를 ..
초보 웹 개발자를 위한 스프링 5 프로그램 입문을 보고 복습 겸 개인 학습 정리입니다. (windows 기준) 책에서는 왜 환경변수는 왜 설정해야하는지에 대해 설명되어있었는데, 간단하게 어떤 경로에서든 특정파일을 인식할 수 있도록 등록하는 것이라고 되어있었다. - windows 기준으로 설치 필요한 것 JDK (Java Development Kit) 메이븐 or 그레이들 이클립스 원하는 디렉토리에 잘 설치했다면 JDK와 메이븐을 환경 변수 설정하는 방법은 검색해보면 나오지만 복습할 겸 정리. JAVA 환경 변수 설정 1 고급 시스템 속성 보기 → 시스템 설정 → 고급 → 환경변수 2 새로 만들기를 누르면 새로 등록할 수 있는 *새 사용자 변수가 뜨는데, 변수 이름은 JAVA_HOME으로 (책에 나와있는 ..
MVVM 패턴 (MVVM pattern) MVVM 패턴은 MVC 패턴에서 컨트롤러(Controller)를 빼고 *뷰 모델(View Model)을 추가한 패턴이다. MVC 패턴과 다르게 커맨드와 데이터 바인딩을 가진 것이 특징이다. 중간의 뷰모델이 양방향 데이터 바인딩을 지원하기 때문에, UI를 별도의 코드 수정 없이 재사용할 수 있다는 점과, 단위 테스트(unit test)하기 쉽다는 장점이 있다. 뷰 모델(View Model) 뷰 모델은 뷰를 추상화한 계층이며 뷰와 모델 사이에서 양방향 데이터 바인딩을 지원한다. 참고로 MVVM 패턴을 가진 대표적인 프레임워크로 뷰(Vue.js)가 있다.
상속 (inheritance) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 상속을 통해서 코드의 재사용성을 높이고, 코드의 중복을 제거하여 프로그램의 생산성과 유지 보수에 크게 기여한다. 상속 구현하는 법 조상클래스와 자식 클래스 사이에 'extends'를 넣어주면되는데, 위치가 중요하다. → 새로 작성할 클래스 이름(Child) extends 상속 받을 클래스 이름 (Parent) class Parent {} class Child extends Parent {} 자손 클래스(Child)는 조상 클래스(Parent)의 모든 멤버를 상속받기 때문에 Child 클래스는 Parent클래스의 멤버들을 포함한다고 할 수 있다. 단 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다...
생성자 (constructor) 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 말 그대로 인스턴스 변수의 초기화 작업에 주로 사용된다. 생성자도 메서드이기 때문에 클래스 내에 선언되며, 리턴 값이 없다. 또한 생성자도 오버로딩이 가능하므로 하나의 클래스에 여러 개의 생성자가 존재할 수 있다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. ※ 생성자도 메서드이기 때문에 리턴값이 없으면 void를 붙여야 하지만, 모든 생성자가 리턴 값이 없기 때문에 void를 생략할 수 있다. 클래스 이름(타입 변수명, 타입 변수명, ...) { //인스턴스 생성 시 수행될 코드 // 주로 인스턴스 변수의 초기화 코드를 적는다. } class Card { // 생성자도 ..
- Total
- Today
- Yesterday
- python3
- 커맨드 객체
- Django tutorial
- authenticate()
- git공부
- Magazine K
- 톰캣
- 면접을 위한 CS 전공 지식 노트
- django-environ
- git
- Python
- error: failed to push some refs to 'https://github.com/
- django.contrib.auth
- 디자인 패턴
- 한글 형태소 분석기
- musma
- 배열
- Spring
- git 공부
- 검색 결과 내 페이지네이션
- 회원가입
- 웹페이지
- API
- path variable
- 환경 변수 설정
- Java
- 암호화
- 혼자 공부하는 파이썬
- django
- 회원 로그인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |