Spring vs Spring Boot프로젝트를 하다보면 Spring 으로 구축된 프로젝트가 있고 Spring Boot 로 구축된 프로젝트가 있는데 무슨 차이일까요? Spring (젠이츠)젠이츠는 ‘1형’만 쓸 수 있지만 그 하나를 극한으로 단련해 무시무시한 공격을 날리죠.Spring도 마찬가지. 기본기를 탄탄히 쌓을 수 있지만, 배우는 데 시간은 좀 듭니다.웹에 필요한 기능을 총집합한 프레임워크단, 집합인 만큼 설정도 복잡하고 프레임워크가 상당히 무거움xml , config 파일 등을 통해 설정함로컬서버도 따로 설정해줘야함설정하는데 시간이 많이 걸림 직접 컨트롤Spring Boot (카이카쿠) Spring 에서 진행하는 설정을 간소화 자동으로 설정 , 스타터를 써도 됨 로컬서버(톰캣) , 의존성..
상속(Inheritance) 부모 클래스가 가진 멤버 변수, 멤버 메서드를 자식 클래스에 넘겨주는 행동을 의미 부모 클래스에 한번 선언 후 계속 재사용하기 위해 사용 비용 감소, 코드 재사용 증가함 부모와 자식 구분은 앞의 글에서 말한대로 상속 기능 사용하는 법 // 부모 클래스 class Parent{ public int num; public void pTest{ System.out.println("부모테스트"); } } //자식클래스 class Child extends Parent{ public int num2; public void cTest{ System.out.println("자식테스트"); } } class 자식클래스명 extends 부모클래스명{ } 을 통해 상속을 받을 수 있다 . 자식은 ..
정적(Static) 프로그램을 실행하기 전 클래스 정의를 미리 읽어서 메모리에 얹는 작업 **로딩 과정 중 만나는 모든 static 요소를 메모리에 구현함 지시자 (제어자) 중 하나임 . 클래스나 클래스의 멤버 앞에 붙임 모든 객체가 메모리를 공유함 즉 값을 공유할 수 있음 예시) public class Ex1_Static { public static void main(String[] args) { Pen p1 = new Pen("MonAmi","Black"); Pen p2 = new Pen("MonAmi","Black"); Pen p3 = new Pen("MonAmi","Black"); System.out.println("총 볼펜 개수: " + Pen.count); }//main } class Pen{..
생성자 (Constructor) 특수한 목적을 가지는 메서드 객체의 멤버(변수)를 초기화하는 역할이다 . 주의점 생성자의 이름은 클래스의 이름과 동일해야함. 리턴타입이 없습니다. 객체가 생성될 때 자동으로 1번 호출이 됩니다. 매개변수 조건에 맞춰 오버로딩 가능 (여러개 작성 가능.) 생성자는 클래스당 1개 이상 있어야 함 . + 없으면 이클립스 컴파일러가 자동으로 생성시킵니다. 예시 ) public class ex_Constructor { public static void main(String[] args) { Box b1 = new Box("소형",2000); System.out.println(b1.getSize()); System.out.println(b1.getPrice()); } } class ..
접근 제어자 (Access modifier) 접근 제어자란 변수나 메서 사용권한을 모두에게 줄 수도 있고 일부에게만 혹은 아예 접근하지 못 하도록 설정을 할 수 있도록 하는 행위이다. private default protected public 이 4가지가 존재한다. 근데 이 중에서 하나는 앞에서 본 적이 있을 것이다 public 예제 코드를 올릴 때 메서드나 클래스 앞에 public static void main 이런 식으로 붙는데 여기서 public 이 접근 제어자이다. private 우선 private는 접근을 하지 못 하도록 하는 접근 제어자이다 (절대 접근 할 수 없다.) 대표적으로 수정하면 안되는 요소들이 들어간 클래스나 메서드에 많이 붙인다 private로 클래스가 설정되면 외부 클래스에선 p..
하나의 파일에서 모든걸 구현하지 말고 클래스를 쪼개서 구현하자 클래스 즉 class 이름 { } 에서 이름은 파일명과 같아야함 ( 같지 않으면 에러가 발생해서 실행조차 안 됨 ) 클래스는 일반적으로 파스칼 표기 사용 (맨 앞 글자 대문자, 단어가 여러개 합성이 된 경우 각 맨 앞 글자 대문자) 예시 public class ExClass { public static void main(String[] args) { Member m1 = new Member(); //변수 집합 + 메서드 집합 //객체 = 데이터 + 행동 m1.name = "홍길동"; m1.age = 20; m1.hello(); Member m2 = new Member(); m2.name = "아무개"; m2.age = 25; m2.hello(..