[Python] 얕은 복사와 깊은 복사 리스트를 복사할 때 사용하는 copy()함수는 리스틀르 복사한 후 원솟값을 변경하면 복사한 원솟값까지 변경될 수 있기 떄문에 주의해서 사용해야한다. 얕은 복사 : 참조 값만 복사 배열 x와 y는 참조하는 곳이 같기때문에 x[0][1]의 값이 바뀌면, y[0][1]의 값도 바뀐다. 깊은 복사 : 참조하는 객체 자체를 복사한다. 깊은 복사는 참조하는 객체 자체를 복사하기 때문에 x[0][1]이 변경되어도 y는 영향을 받지 않는다. 카테고리 없음 2022.10.08
[Python] 파이썬의 특징 (메모) 파이썬 자료형 파이썬의 자료형은 다음과 같이 2가지로 분류할 수 있다. - 뮤터블 자료형 : 리스트, 딕셔너리, 집합 등이 있으며 값을 변경할 수 있다. - 이뮤터블 자료형 : 수, 문자열, 튜플 등이 있으며 값을 변경할 수 없다. 파이썬에서 =는 연산자가 아니다. C, C++, Java 언어에서는 =를 결합 연산자로 사용한다. 예를 들어 다음의 경우 b에 1을 대입하여 얻은 결과를 a에 대입한다. 즉, a = (b = 1) 하지만 파이썬에서 해당 코드는 syntax err를 반환한다. a = b = 1 등가성과 동일성은 다르다. 파이썬에서 값을 비교할 때 등가성(equality)와 동일성(identity)를 사용한다. 등가성 비교는 ==을, 동일성 비교는 is를 사용한다. 등가성 비교는 좌변과 우변의 .. 카테고리 없음 2022.10.07
[Python] 파이썬의 변수 알아보기 파이썬에서는 데이터, 함수, 클래스, 모듈, 패키지 등을 모두 객체(object)로 취급한다. 객체는 자료형을 가지며, 메모리(저장공간)을 차지한다. 파이썬은 이런 특징 때문에 파이썬의 변수는 값을 갖지 않는다는 특징이 있다. 예를 들어, 다음과 같은 대입 연산 과정에서 x가 7을 가지고 있다고 할 수 없다. x는 7이라는 데이터가 아닌 데이터가 저장된 곳의 주소(address 또는 reference)가 저장된다. x = 7 이로써 다음 코드의 실행 결과는 True가 된다. (id()함수는 객체의 식별 번호를 반환해준다.) 여기서 중요한 부분은 x = 7이 값을 복사하여 대입하지 않는다는 것이다. 단지, x라는 이름을 가진 변수가 객체 7을 참조하고 있을 뿐이다. x = 7 print(id(x) == i.. 카테고리 없음 2022.10.07
[Spring] View 환경 설정 Welcome Page 만들기 스프링 부트가 제공하는 Welcome Page 기능 static/index.html 을 올려두면 Welcome page 기능을 제공한다. 정적 페이지를 띄워준다. Spring boot가 제공하는 기능 찾아보기 spring.io projects → Spring Boot → Learn → Reference Doc 참고 thymeleaf 템플릿 엔진 thymeleaf 공식 사이트: https://www.thymeleaf.org/ localhost:8080/hello로 접근 GetMapping annotation에 의해 hello 함수에 매칭된다. hello 함수 실행 model에 attribute를 추가해준다. hello를 return 해준다. @GetMapping("hello".. Web/Spring 2022.09.17
[JAVA] 어노테이션(Annotation) 어노테이션 어노테이션은 Java5에 추가된 기능 어노테이션은 클래스나 메소드위에 붙는다. @(at)기호로 이름이 시작한다. 어노테이션을 클래스나 메타코드에 붙인 후, 클래스가 컴파일되거나 실행될 때 어노테이션의 유무나 어노테이션에 설정된 값을 통하여 클래스가 좀 더 다르게 실행되게 할 수 있다. 이런 이유로 어노테이션을 일정의 설정파일처럼 설명하는 경우도 있다. 어노테이션은 자바가 기본으로 제공해주는 것도 있고, 사용자가 직접 만들 수도 있다. 사용자가 직접 작성하는 어노테이션을 Custom 어노테이션이라고 말한다. 커스텀 어노테이션을 이용하는 방법 어노테이션을 정의한다. 어노테이션을 클래스에서 사용한다. (타겟에 적용) 어노테이션을 이용하여 실행. 패키지 익스플로러에서 [new - Annotation].. Programming language/Java 2022.09.16
[JAVA] Set, List, Map Set set은 중복이 없고, 순서도 없는 자료구조. Hashset과 TreeSet이 있다. import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class SetExam { public static void main(String[] args) { Set set1 = new HashSet(); boolean flag1 = set1.add("kim"); boolean flag2 = set1.add("lee"); boolean flag3 = set1.add("kim"); System.out.println(set1.size()); //저장된 크기를 출력합니다. 3개를 저장하였지만, 이미 같은 값이 있었기 때문에 2개가.. Programming language/Java 2022.09.16
[JAVA] Generic Generic Box 클래스 public class Box { private Object obj; public void setObj(Object obj){ this.obj = obj; } public Object getObj(){ return obj; } } BoxExam 클래스 public class BoxExam { public static void main(String[] args) { Box box = new Box(); box.setObj(new Object()); Object obj = box.getObj(); box.setObj("hello"); String str = (String)box.getObj(); System.out.println(str); box.setObj(1); int val.. 카테고리 없음 2022.09.16
[JAVA] Collection Framework java.util 패키지 java.util 패키지는 유용한 클래스들을 많이 가지고 있는 패키지 날짜와 관련된 클래스인 Date, Calendar 클래스 자료구조와 관련된 컬렉션 프레임워크와 관련된 인터페이스와 클래스 deprecated란 더이상 지원하지 않으니 사용하지 않는 것이 좋다란 의미다. List, Set, Collection, Map은 자료구조 즉 컬렉션 프레임워크와 관련된 인터페이스 컬렉션 프레임워크 java.util패키지에는 자료를 다룰 수 있는 자료구조 클래스가 다수 존재한다. 자료구조 클래스들을 컬렉션 프레임워크라고 한다. Collection 인터페이스 컬렉션 프레임워크에서 가장 기본이 되는 interface 중복도 허용하고, 자료가 저장된 순서도 기억하지 못한다. Collection이 .. Programming language/Java 2022.09.16
[JAVA] java.lang 패키지/오토박싱 https://docs.oracle.com/javase/7/docs/api/java/lang/package-summary.html java.lang (Java Platform SE 7 ) Interface Summary Interface Description Appendable An object to which char sequences and values can be appended. AutoCloseable A resource that must be closed when it is no longer needed. CharSequence A CharSequence is a readable sequence of char values. docs.oracle.com java.lang 패키지/오토박싱 자바는 .. Programming language/Java 2022.09.14
[JAVA] Object와 오버라이딩 Object 클래스 모든 클래스의 최상위 클래스 아무것도 상속받지 않으면 자동으로 Object를 상속 Object가 가지고 있는 메소드는 모든 클래스에서 다 사용할 수 있다는 것을 의미 Object 메소드 사용할 때 반드시 오버라이딩해서 사용해야 한다. equals : 객체가 가진 값을 비교할 때 사용 String 클래스의 equals 함수도 equals 메소드를 오버라이딩한 것이다. toString : 객체가 가진 값을 문자열로 반환 hashCode : 객체의 해시코드 값 반환 아래의 코드를 실행하면, s1 != s2가 출력되고, 서로 다른 hashCode 값이 출력된다. 아직 Object 메소드를 따로 정의하지 않았기 때문에 나오는 결과이다. Object 메소드는 사용자가 알맞게 오버라이딩해서 사용해.. Programming language/Java 2022.09.14