📟java 58

java GUI 코드들

CotentPane Container를 생성자 안에 만들어서 그 안에 다양한 컴포넌트들을 기입하여 창을 만들 수 있게됨. ContentPane은 출력창(JFrame)의 주요 컨테이너이다. import javax.swing.*; // Swing 라이브러리를 가져와서 GUI 컴포넌트를 사용할 수 있도록 함. import java.awt.*; // AWT(Abstract Window Toolkit) 라이브러리를 가져와서 윈도우 구성 요소를 사용할 수 있도록 함. public class ContentPaneEx extends JFrame{ // JFrame을 확장하는 ContentPaneEx 클래스 생성. public ContentPaneEx() { // 클래스의 생성자. setTitle("ContentPane..

프로세스, 쓰레드 차이

프로세스 : 일의 실행 단위 쓰레드 : CPU 사용의 기본 단위 프로세스: 운영 체제에서 실행 중인 프로그램의 인스턴스입니다. 프로세스는 독립된 메모리 공간(코드, 데이터, 힙, 스택 등)을 가지며, 최소 한 개 이상의 쓰레드를 포함합니다. 운영 체제는 프로세스 간 자원을 고유하게 할당하여 서로 간섭하지 않도록 관리합니다. CPU 자원 뿐만 아니라 메모리, 파일 핸들, 네트워크 연결과 같은 시스템 리소스를 사용합니다. 쓰레드: 프로세스 내에서 실행되는 경량의 실행 단위로, 프로세스의 메모리를 공유합니다. 쓰레드는 프로세스의 자원을 이용하여 CPU에서 실행되며, 동일한 프로세스 내의 쓰레드들은 메모리나 파일과 같은 리소스를 공유할 수 있습니다. 멀티 쓰레딩을 통해 프로세스는 여러 작업을 동시에 처리할 수 ..

상속

class TV { private int size; public TV(int a) {size = n;} } class ColorTV extends TV{ private int colors; public ColorTV(int colors, int size) { ???????? this.colors = colors; } } ?????에는 뭘 채워야 size값을 초기화시킬 수 있을까? 여기서 쓰이는게 상속이다. 답: super(size); 상속이란 부모 클래스의 생성자를 불러 오는 것이다. 마치. size라는 황금 레시피를 부모만 알고 있는 입장에서 자식이 그 비법을 아는 부모를 데려와서 그 부분을 만들도록 부탁하는 것이라 보면된다. 자식은 그저 클래스를 상속받았을 뿐 size라는 황금레시피의 값은 잘 모른다..

this || getter(값 불러오기. return사용), setter(값 변경 ,this사용)

this 키워드 this 키워드는 메소드 수행의 주체 객체를 가리킴. 여기서 this는 c라는 주체객체를 가리킨다. // 호출 영역 Cookie c = new Cookie("버터링", 1500); c.setPrice(2000); // 정의 영역 class Cookie { private String name; private int price; // 생성자 public Cookie(String name, int price) { this.name = name; // this.name -> 인스턴스 변수 this.price = price; // this.price -> 인스턴스 변수 } // 세터 public void setName(String name) { this.name = name; // this.nam..

접근제어자

패키지와 패키지, 클래스와 클래스간 등의 클래스의 사용범위를 정하기 위해 접근 제어자가 있는거구나? 네, 정확하게 이해하셨습니다! 접근 제어자는 클래스, 메서드, 필드의 사용 범위를 제한하여 객체 지향 프로그래밍의 중요한 원칙 중 하나인 캡슐화를 도와줍니다. 접근 제어자(Access Modifier): 클래스, 메서드, 필드의 접근 범위를 지정합니다. public, protected, default, private 네 가지 접근 제어자가 있습니다. public: 어떤 클래스에서라도 접근 가능합니다. 다른 패키지의 클래스에서도 접근할 수 있으므로 외부에 공개되어야 하는 클래스, 메서드, 필드에 사용합니다. protected: 같은 패키지 내의 클래스나 상속 받은 클래스에서만 접근 가능합니다. default..

레퍼런스와 스태틱

레퍼런스(reference)는 자바에서 객체를 가리키는 데 사용되는 변수입니다. 레퍼런스 변수는 메모리 상의 객체의 위치를 가리키며, 이를 통해 객체에 접근하고 해당 객체의 메소드를 호출할 수 있습니다. 클래스 타입 혹은 레퍼런스 타입은 기본 타입과 다르게 앞글자를 대문자로 쓴다. 클래스 내에서 메소드의 사용 순서는 선언의 순서와 상관없이 사용 가능 class Employee { // 필드 String name; // 이름 int[] hours; // 요일별 일한 시간 // 생성자 Employee(String str, int[] arr) { name = str; hours = arr; } // 메소드 void printTotalHours() { System.out.printf("%s -> %d 시간\n"..

생성자 , String.format("포맷 문자열", 인자1, 인자2, ...)

생성자란? 클래스로부터 객체를 만드는 특별한 메소드 역할 1. 객체 생성 2. 객체 값 초기화 생성자는 호출과 정의 부분으로 나뉜다. 생성자를 파라미터를 통해 초기화. 필드의 변수는 클래스 안 전체가 범위 이기 때문에 그대로 생성자라는 메소드 안에서 사용가능. public class BicycleTest { public static void main(String[] args) { // 객체 생성 및 초기화 Bicycle b1 = new Bicycle("부릉2", 21.74, 899000); Bicycle b2 = new Bicycle("씽씽2", 12.57, 495000); // 객체 정보 출력 System.out.printf("Bicycle { %s, %.2fkg, %d원 }\n", b1.name, b..

객체지향 기초 정리.

필드의 활동 영역? 필드의 활동 영역은 클래스 전체입니다. 따라서, 메소드 호출 시 필드를 사용할 수 있습니다. class Dog { String name; int age; void bark() { // 필드 name을 사용 System.out.println(name + "의 멍멍!"); } } 스코프 정리 클래스 스코프: 필드 메소드 스코프: 파라미터, 지역변수 지역변수? 여기서 지역변수란, 메소드 내부에 선언된 변수입니다. class DrinkMachine { String output; // 필드 output 선언 void pushButton(int num) { // 파라미터 num 선언 // 지역변수 drinks 선언 String[] drinks = {"콜라", "사이다", "맥주"}; output..

클론코딩과 포폴

정신을 차리고 다른 취준생분들은 프로젝트를 어떻게 만들었나 찾아다녀 봤는데 '미아찾기 서비스', '독거노인 프로젝트', '나만의 블로그?' 등 각자 개성있는 프로젝트를 만들었더라구요. 답변 자바 프레임 워크로 구현하는 기본적 내용들. ㆍ 가입시 이메일로 비밀번호 분실시 찾기기능으로 자동발송 기능 (지메일 api) ㆍ댓글 및 추천 ,자동알림 (웹소켓) ㆍ소셜 자동로그인 기능 (네이버 api) ㆍ수벡명 동시 로그인, 이 수백명이 동시에 하나의 메소드에 접근할때 디비, was 멀티쓰레드 대응방안 ㆍ최대한 죄신기술사용, 리액트 프레임워크, 스프링 jpa등 오픈소스 로 ui 및 css 능숙함을 보여주었는가? 예) nhn toast ui 프레임워크(리액트버젼) 사용등 네 클론코딩으로 해도 문제 없습니다. 클론 코딩..

Servlet 이해하기(3)[자동, 수동 dir생성 비교]

우리가 만든 웹 애플리케이션을 사용하기 위해서는 톰캣에 등록해줘야한다. 그 방법은 server.xml에 context로 파일을 등록하는게 수동 방법이었다. 자동으로 할 경우는 어떻게 등록하게 될까? 톰캣에서 Add and Remove 클릭 (아.. 이게 그 작년에 헤맸던 그 부분이구나.) 이 과정이 톰켓에 웹 어플리케이션을 등록하는 과정이었던 것이다. add ㅡ> finish 누르면 맨아래처럼 자동등록 완료. 파일명 그대로 Context로 자동 등록이 된다. 아까 폴더 자동 생성시, MVC01과 WebContent(여기에 web관련 내용 다 담음 헷갈리면 디렉터리 비교 보고오기)를 연결해주는게 바로 아래의 이미지 모습이다. 이렇게 연결해주면 MVC01을 Context로 톰캣에 등록하면 webcontent..