본문 바로가기
반응형

Til14

[TIL] 클래스, 객체, 인스턴스 개념 다시 한 번 보기 CS스터디를 하며 여러 종류의 패턴들에 대해 공부했는데, 같이 스터디를 하는 분에게 자바 코드를 설명하는 과정에서 내가 정확히 알지 못하는 것을 알았다. 결론은 클래스,객체,인스턴스에 대한 개념이 혼동되어 다시 한 번 정리하게 됐다. 요약부터 짧게 하겠다 그냥 이런거구나 정도만 알고 싶다면 위에 세 개만 보면 되겠다. ✅ 클래스, 객체, 인스턴스 한줄로 보기 💡클래스(Class)? : 객체를 만들어 내기 위한 설계도 혹은 틀 💡객체(Object)? : 소프트웨어 세계에 구현할 대상 / 클래스의 인스턴스 💡인스턴스(Instance)? : 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체 클래스, 객체, 인스턴스의 개념 클래스 - 객체를 만들어 내기 위한 설계도 혹은 틀 - 연관되어 있는 변수와 메서.. 2022. 10. 18.
TIL_primitive type vs reference type 클론코딩을 하던 중 primitive type과 reference type이 달라서 오류가 발생했다. - Object 타입에서 신경쓸게 더 많다. ->실수할 여지가 많다.NPE나 반복적인 Object를 새로 생성해서 할당하거나 메모리를 훨씬 많이 사용한다 1. 자바 타입 시스템 Java에는 int , boolean 과 같은 기본 형식과 Integer , Boolean 과 같은 참조 형식 으로 구성된 이중 형식 시스템이 있습니다. 모든 기본 유형은 참조 유형에 해당합니다. 모든 객체에는 해당 기본 유형의 단일 값이 포함됩니다. 래퍼 클래스는 변경할 수 없으며(객체가 생성되면 상태를 변경할 수 없도록) 최종 클래스입니다(이 클래스에서 상속할 수 없음) . 내부적으로 Java는 실제 유형이 선언된 유형과 다른.. 2022. 8. 21.
TIL_(생활코딩)객체 지향 프로그래밍 클래스 : 변수와 메소드를 내가 필요한것들로 묶어놓은 도구 인스턴스 : 클래스를 내가 원하는대로 지정해놓은것들을 복제 시킨뒤 클래스에다 지정해놓은 것들은 조금씩만 변형시켜서 다시 쓸수 있게 해주는 묶음 1. 클래스와 인스턴스 차이점 : 클레스가 원본이라면 인스턴스는 원본의 구성을 일부 바꿀 수 있다. 2. 인스턴스의 효능 : 클래스를 재료로 사용할떄 세분화시키고 싶다면 클레스의 내용을 일부 바꾸고 이름으로 구분지어 쓸 수 있다. 인스턴스는 실제 값이 존재하는 것이 아닌 클래스를 가리키는 것뿐이다 또한 변수가 있다면 복제되고 값이 있다면 값도 가져오게 된다. 클래스의 변수를 바꾸면 모든 인스턴스의 값이 바뀐다 생성자 : 클래스명과 동일하게 작성되며 인사말 같은 존재 생성자는 클래스의 이름과 똑같이 선언하면.. 2022. 8. 15.
TIL_@Id & @GeneratedValue @Id? - 테이블의 PK(Primary Key)역할을 한다는 것을 나타낸다. - 속성에 직접 @Id를 붙여주면 실행시점에 객체 필드를 통해 접근하게 하는 것이며, - getter를 이용하려면 getter에 @Id를 붙여준다. - 속성에 부여하게되면 getter/setter 없이도 작업이 가능하다. 그러나 setter에 @Id를 붙이면 예외가 발생한다 @GeneratedValue : 주 키의 값을 위한 자동 생성 전략을 명시하는데 사용 선택적 속성으로 generator와 strategy가 있다 strategy : persistance provider가 엔티티의 pk를 생성할 때 사용하며 디폴트값은 AUTO이다 generator : 주로 SequenceGenerator나 TableGenerator 어노테이.. 2022. 8. 11.
[Spring]@NotNull @NotEmpty @NotBlank 의 차이 @NotNull / @NotEmpty / @NotBlank 다 비슷하게 생겼는데 뭐가 다를까 손병호,손흥민,손석구,손연재 전부 손씨지만 성만 손씨지 다 다르 @NotNull @NotNull은 이름에서 보여주듯 null만 허용하지 않는다. 따라서 "" 나 " "은 허용하게 되는 것이다. 그렇기 때문에 만약 초기화된 String이나 " "(공백)을 허용하지 않는다면 사용해서는 안된다. 즉, 초기화나 공백의 값이 들어와 저장은 되야하지만 Null 로 들어온 경우 오류가 나는 변수를 받을 때 사용하면 된다 @NotEmpty @NotEmpty는 null과 "" 둘다 허용되지 않게 한다. @NotNull에서 ""validation이 추가된 것이다. 즉, @NotEmpty는 Null값과 ""은 막히나," "은 허용된.. 2022. 8. 9.
[개념쌓기] DI?IOC? 알수록 왜 알게 많아지는 것일까 커다란 프로젝트를 진행할 때 클래스에 대한 변경이 필요하면 다른 클래스에 영향을 끼치지 않으면서 변경이 가능해야한다.이런 상황에 더 수월하게 변경이 가능하게 도와줄수 있도록 도입된 기능이 DI(Dependency Injection)와 IoC(Inversion of Control)이다 기존에는 자바 프로그래밍시 객체를 생성할 때, 직접 클래스에 new연산자를 이용해 생성했으나 DI는 컨테이너가 이를 수행해준다. 그렇게 되면 직접적인 연관 관계가 발생하지 않는데,이처럼 클래스들의 변경이 자유로워지는 것을 느슨한 결합이라고 한다. 각 클래스 간 결합도가 높게되면 나중에 프로젝트가 복잡해질시 유지보수가 힘들게 된다. 그렇게 등장한 개념이 바로 IoC(Inversion of Con.. 2022. 8. 7.
TIL_@RequestMapping #Spring @RequestMapping? : HTTP Request로 들어오는 url을 특정 Controller 클래스나 메소드로 연결시키는 역할을 한다 Spring웹 어플리케이션에서 가장 자주 사용되는 어노테이션 RequestMapping은 Controller에 있어서 Class에 적용할 수도,특정 Method에 적용할 수도 있다. - 요청 정보를 매핑 - 해당 url이 호출되면 해당 메소드가 호출 - 어노테이션 기반 동작이기 때문에 메소드 이름은 자유 - 방식은 GET,POST,PUT,DELETE @RequestMapping(value="/url",method = RequestMethod."방식") 그렇다면 @RequestMapping 대신 @PostMapping이나 @GetMapping을 쓰는 이유가 무엇일까.. 2022. 8. 6.
반응형