본문 바로가기
반응형

전체 글135

접근 제어 지시자(access modifier)와 정보은닉(information hiding) 접근 제어 지시자 (access modifier) 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 public : 클래스 외부 어디서나 접근 가능 private : 같은 클래스 내부에서만 접근 가능(외부 클래스, 상속 관계의 클래스에서도 접근 불가) protected :같은 패키지나 상속관계의 클래스에서 접근 가능 아무것도 없는거(default) : 같은 패키지 내부에서만 접근 가능 (상속 관계라도 패키지가 다르면 접근 불가) get() set() 메서드 private으로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 get() 메서드만 제공 되는 경우 read-only 필드 이클립스에서 자동으로 생성됨 정보 은닉 p.. 2023. 3. 14.
생성자와 오버로딩 vs 오버라이딩 생성자 객체를 생성할 때 new키워드와 함께 사용 ex) new Student(); 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출 됨 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출함 생성자는 반환 값이 없고, 클래스의 이름과 동일 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있음. //생성자 만들기 public Student(int studentNumber, String studentName, int grade) { this.studentNumber = studentNumber; this.studentName = studentName; this.grade = grade; .. 2023. 3. 14.
인스턴스와 힙 메모리 인스턴스 (instance) 클래스는 객체의 속성을 정의하고, 가능을 구현하여 만들어 놓은 코드 상태 **실제 클래스 기반으로 생성된 객체(인스턴스)**는 각각 다른 멤버 변수 값을 가지게 됨 가령 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됨 new키워드를 사용하여 인스턴스 생성 Student studentLee = new Student(); studentLee.studentName = "홍길동"; 힙 메모리 생성된 인스턴스는 동적 메모리(heap memory)에 할당됨 자바에서 Garbage Collector가 주기적으로 사용하지 않는 메모리를 수거 하나의 클래스로부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 갖게됨 2023. 3. 14.
함수와 메서드 1. 함수란? 하나의 기능을 수행하는 일련의 코드 구현된 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 함수로 구현된 하나의 기능은 여러곳에서 동일한 방식으로 호출되어 사용될 수 있음 2. 함수 호출과 스택 메모리 - 스택 : 함수가 호출될 때 지역 변수들이 사용하는 메모리 - 함수의 수행이 끝나면 자동으로 반환 되는 메모리 3. 메서드(method) 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수 멤버 함수(member function)이라고도 함 메서드를 구현함으로써 객체의 기능이 구현됨 메서드 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는것이 좋음 ex) getStudentName() *함수와 메서드의 차이점 정리 함수는 특정 작업을 수행하기 위해 설계된 기.. 2023. 3. 14.
기본 자료형 vs 참조 자료형 1. 참조 자료형 변수 기본 자료형 : int, long, float, double 등 참조 자료형 : String, Date, Student 등 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스 타입으로 변수를 선언하는 자료형이다. 참조 자료형을 사용할때는 해당 변수에 대해 생성하여야 함 *String 클래스는 예외적으로 생성하지 않고 사용할 수 있음 2023. 3. 13.
인터넷 네트워크 1. IP(인터넷 프로토콜) 1) IP : 인터넷 프로토콜 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 2) IP 프로토콜의 한계 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 비신뢰성 중간에 패킷이 사라지면? 패킷이 순서대로 안오면? 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면? 👉이러한 문제를 해결해 주는 것이 TCP / UDP 2. TCP / UDP 1) 인터넷 프로토콜 스택의 4계층 애플리케이션 계층 - HTTP, FTP 전송 계층 - TCP, UDP 인터넷 계층 - IP 네트워크 인터페이스 계층 프로그램이 메세지 생성 socket 라이브러리를 통해 전달 tcp 정보 생성, 메.. 2023. 3. 5.
명제 연습 (역, 이, 대우) 1. 만약 0이 홀수라면, 미국에서 2080년 월드컵이 열린다. → p는 q이다에서 p가 거짓이면 전체 명제는 참이다. 역 : 미국에서 2080년 월드컵이 열린다면, 0은 홀수이다. 이 : 만약 0이 홀수가 아니라면, 미국에서 2080년 월드컵이 열리지 않는다. 대우 : 미국에서 2080년 월드컵이 열리지 않는다면 0이 홀수가 아니다. 2. 만약 12980128940129 이 prime number라면, 2는 짝수이다. → 대우에서 2가 짝수가 아니라는 명제가 거짓이므로, 이 명제는 참이 된다. 역 : 2가 짝수라면, 12980128940129 이 prime number이다. 이 : 12980128940129 이 prime number가 아니라면, 2는 짝수가 아니다. 대우 : 2가 짝수가 아니라면, 1.. 2023. 3. 2.
의사코드(pseudo-code)란? (슈도코드, 수도코드, 의사코드) 의사코드는 컴퓨터 프로그램이나 알고리즘이 수행해야할 내용을 우리가 사용하는 언어로 간략히 서술해 놓은 것 의사코드는 코딩 입력을 시작하기 전, 사고를 좀더 명확히 정립하게 만들어주어 프로그램을 설계하는데 도움이 된다. 실제 코드 입력을 처음 시작할 때가 제일 힘들다. 단순히 소스코드를 입력하는 것보다 함수(function)프로그램을 만들 때 많은 시간을 낭비할 수 있다. 약 10분 정도 각 풀이법의 장점과 단점을 주도면밀하게 살펴보면서 의사코드 작성한다면, 이후 디버그를 수정하고 코드를 재분해 하는데 걸리는 시간을 단축할 수 있다. 의사코드로 코드검토(code review)가 더 쉬워진다. 코드 수정을 좀더 용이하게 만들어준다. 코멘트작성에 대한 부담을 덜어준다. 예 ) 판매세가 포함된 물건 값 계산하기.. 2023. 3. 2.
영속성 컨텍스트 JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping) 영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 고객의 요청이 있을 때 엔티티 매니저 팩토리를 통해서 엔티티 매니저를 생성한다. 엔티티 매니저는 내부적으로 데이터베이스 커넥션을 사용해서 db를 사용함 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어 엔티티를 영구 저장하는 환경 이라는 뜻 EntityManager.persist(entity); 엔티티 매니저? 영속성 컨텍스트? 영속성 컨텍스트는 논리적인 개념 - 눈에 보이지 않는다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 J2SE 환경 : 엔티티 매니저와 영속성 컨텍스트가 1:1 J2EE, 스프링 프레임워크 같은 환경 : 엔.. 2023. 2. 27.
터미널로 h2 실행하기 (맥OS) h2 파일 위치로 들어가 bin 의 h2.sh를 실행시키면 된다. 예시 ) cd desktop/study/h2/bin → ./h2.sh 이렇게 하면 브라우저에 h2 콘솔이 열리는데, 간혹 무한 로딩만 될 때가 있다. 그럴땐 http://localhost:8082 와 같이 맞는 포트번호로 url을 입력하면 된다 2023. 2. 24.
반응형